/* Options:
Date: 2025-04-03 22:35:30
Version: 8.52
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://taxfiling.pwc.de

//GlobalNamespace: 
//MakePropertiesOptional: False
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: CreateUuid.*
//ExcludeTypes: 
//DefaultImports: 
*/


export interface IReturn<T>
{
    createResponse(): T;
}

/** @description Specifies a base service to generate a Universal Unique Identifier. */
// @Api(Description="Specifies a base service to generate a Universal Unique Identifier.")
export class CreateUuidBase implements IGet
{

    public constructor(init?: Partial<CreateUuidBase>) { (Object as any).assign(this, init); }
}

/** @description Represent a base response that encapsulate any ERiC API function return value. */
// @Api(Description="Represent a base response that encapsulate any ERiC API function return value.")
export class EricFehlerCodeResponse extends ServiceReponseBase
{
    /** @description The status code that the ERiC API function returns. */
    // @ApiMember(Description="The status code that the ERiC API function returns.")
    public statusCode: EricFehlerCode;

    /** @description The status message that the ERiC API function returns. */
    // @ApiMember(Description="The status message that the ERiC API function returns.")
    public statusText: string;

    public constructor(init?: Partial<EricFehlerCodeResponse>) { super(init); (Object as any).assign(this, init); }
}

/** @description Represents a type that encaspulates a Universal Unique Identifier (UUID). */
// @Api(Description="Represents a type that encaspulates a Universal Unique Identifier (UUID).")
export class UuidResponse extends EricFehlerCodeResponse
{
    /** @description The generated Universal Unique Identifier. */
    // @ApiMember(Description="The generated Universal Unique Identifier.")
    public uuid: string;

    public constructor(init?: Partial<UuidResponse>) { super(init); (Object as any).assign(this, init); }
}

/** @description A synchronous service to generate a Universal Unique Identifier. */
// @Route("/CreateUuid", "GET")
// @Api(Description="A synchronous service to generate a Universal Unique Identifier.")
export class CreateUuid extends CreateUuidBase implements IReturn<UuidResponse>
{

    public constructor(init?: Partial<CreateUuid>) { super(init); (Object as any).assign(this, init); }
    public getTypeName() { return 'CreateUuid'; }
    public getMethod() { return 'GET'; }
    public createResponse() { return new UuidResponse(); }
}