export interface {{classname}} {{#parent}}extends models.{{{parent}}} {{/parent}}{
{{#additionalPropertiesType}}
    [key: string]: {{{additionalPropertiesType}}}{{#hasVars}} | any{{/hasVars}};

{{/additionalPropertiesType}}
{{#vars}}
    {{#description}}
    /**
     * {{{description}}}
     */
    {{/description}}
    {{name}}{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{datatype}}}{{/isEnum}};

{{/vars}}
}

{{#hasEnums}}
export namespace {{classname}} {
{{#vars}}{{#isEnum}}
    export enum {{enumName}} {
    {{#allowableValues}}
        {{#enumVars}}
            {{{name}}} = <any> {{{value}}}{{^-last}},{{/-last}}
        {{/enumVars}}
    {{/allowableValues}}
    }{{/isEnum}}{{/vars}}
}{{/hasEnums}}