<?php
/**
 * {{classname}}
 *
 * PHP version 8.1.1
 *
 * @category Class
 * @package  {{invokerPackage}}
 * @author   OpenAPI Generator team
 * @link     https://github.com/openapitools/openapi-generator
 */

{{>partial_header}}
/**
 * NOTE: This class is auto generated by the openapi generator program.
 * https://github.com/openapitools/openapi-generator
 * Do not edit the class manually.
 */

namespace {{apiPackage}};

use Symfony\Component\HttpFoundation\File\UploadedFile;
{{#operations}}{{#imports}}use {{import}};
{{/imports}}

/**
 * {{classname}} Interface Doc Comment
 *
 * @category Interface
 * @package  {{apiPackage}}
 * @author   OpenAPI Generator team
 * @link     https://github.com/openapitools/openapi-generator
 */
interface {{classname}}
{
    {{#authMethods}}

    /**
     * Sets authentication method {{name}}
     *
     * @param string|null $value Value of the {{name}} authentication method.
     *
     * @return void
     */
    public function set{{name}}(?string $value): void;
    {{/authMethods}}
    {{#operation}}

    /**
     * Operation {{{operationId}}}
    {{#summary}}
     *
     * {{{.}}}
    {{/summary}}
     *
    {{#description}}
     * {{.}}
     *
    {{/description}}
    {{#allParams}}
    {{#isEnumRef}}
     * @param  \{{modelPackage}}\{{dataType}}{{^required}}{{^defaultValue}}|null{{/defaultValue}}{{/required}} ${{paramName}}  {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{#isDeprecated}} (deprecated){{/isDeprecated}}
    {{/isEnumRef}}
    {{^isEnumRef}}
     * @param  {{vendorExtensions.x-parameter-type}}{{^required}}{{^defaultValue}}|null{{/defaultValue}}{{/required}} ${{paramName}}  {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{#isDeprecated}} (deprecated){{/isDeprecated}}
    {{/isEnumRef}}
    {{/allParams}}
     * @param  int     &$responseCode    The HTTP Response Code
     * @param  array   $responseHeaders  Additional HTTP headers to return with the response ()
     *
     * @return {{{vendorExtensions.x-return-type}}}
    {{#isDeprecated}}
     * @deprecated
    {{/isDeprecated}}
     */
    public function {{operationId}}(
        {{#allParams}}
        {{#isEnumRef}}
        {{^required}}{{^defaultValue}}?{{/defaultValue}}{{/required}}\{{modelPackage}}\{{dataType}} ${{paramName}},
        {{/isEnumRef}}
        {{^isEnumRef}}
        {{^required}}{{^defaultValue}}?{{/defaultValue}}{{/required}}{{#vendorExtensions.x-parameter-type}}{{vendorExtensions.x-parameter-type}} {{/vendorExtensions.x-parameter-type}}${{paramName}},
        {{/isEnumRef}}
        {{/allParams}}
        int &$responseCode,
        array &$responseHeaders
    ): {{{vendorExtensions.x-return-type}}};
{{/operation}}
}
{{/operations}}
