<?php

{{>licenseInfo}}

namespace {{apiPackage}};


{{#operations}}abstract class {{classname}}
{

    {{#operation}}
    /**
     * Operation {{{operationId}}}
     *
     * Path: `{{{path}}}`
     *
     {{#summary}}
     * {{{summary}}}
     *
     {{/summary}}
  {{#vendorExtensions.x-nonFormParams}}
     * @param {{vendorExtensions.x-parameter-type}} ${{paramName}} {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{#isDeprecated}} (deprecated){{/isDeprecated}}
  {{/vendorExtensions.x-nonFormParams}}
     *
     * @return {{vendorExtensions.x-return-type-comment}}
  {{#isDeprecated}}
     * @deprecated
  {{/isDeprecated}}
     */
    public function {{operationId}}({{#vendorExtensions.x-nonFormParams}}{{vendorExtensions.x-parameter-type}} ${{paramName}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-nonFormParams}}): {{vendorExtensions.x-return-type}}
    {
        throw new \Exception('Not implemented');
    }

    /**
     * Operation {{{operationId}}} (stream)
     *
     * Path: `{{{path}}}`
     *
     {{#summary}}
     * {{{summary}}}
     *
     {{/summary}}
  {{#vendorExtensions.x-nonFormParams}}
     * @param {{vendorExtensions.x-parameter-type}} ${{paramName}} {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}{{#isDeprecated}} (deprecated){{/isDeprecated}}
{{/vendorExtensions.x-nonFormParams}}
     *
  {{#isDeprecated}}
     * @deprecated
  {{/isDeprecated}}
     */
    public function {{operationId}}Stream({{#vendorExtensions.x-nonFormParams}}{{vendorExtensions.x-parameter-type}} ${{paramName}}{{^-last}}, {{/-last}}{{/vendorExtensions.x-nonFormParams}}): void
    {
        throw new \Exception('Not implemented');
    }
{{/operation}}
}
{{/operations}}
