{{>licenseInfo}}

/* eslint-disable */

import { BaseApi } from "./api";

{{#operations}}

{{#description}}
/**
 * {{&description}}
 */
{{/description}}
export class {{classname}} extends BaseApi {
{{#operation}}
    public {{nickname}} = ({{#hasParams}}p: { 
{{#allParams}} 
"{{baseName}}"{{^required}}?{{/required}}: 
{{#vendorExtensions.x-enumTypeName}}
{{vendorExtensions.x-enumTypeName}}{{^required}} | null{{/required}}
{{/vendorExtensions.x-enumTypeName}}
{{^vendorExtensions.x-enumTypeName}}
{{{dataType}}}{{^required}} | null{{/required}}
{{/vendorExtensions.x-enumTypeName}}
;{{/allParams}} }, {{/hasParams}}): Promise<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}> => {        
		let localVarPath = '{{{path}}}'{{#pathParams}}
            .replace('{' + '{{baseName}}' + '}', String(p["{{baseName}}"])){{/pathParams}};
{{#hasParams}}
        this.r(p, [ {{#allParams}}{{#required}} "{{baseName}}", {{/required}}{{/allParams}} ]);
{{/hasParams}}
{{^bodyParam}}
        let bodyDict = undefined;
{{/bodyParam}}
{{#bodyParam}}
        let bodyDict = p["{{baseName}}"];
		const _p = p as any;
		delete _p["{{baseName}}"];
{{/bodyParam}}
        return this.ajax("{{httpMethod}}", localVarPath, {{#hasParams}}p{{/hasParams}}{{^hasParams}}{}{{/hasParams}}, bodyDict) as any;
    }
{{/operation}}
}
{{/operations}}
