package {{package}};

{{#imports}}import {{import}};
{{/imports}}

import play.mvc.Http;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
{{#supportAsync}}
import java.util.concurrent.CompletionStage;
import java.util.concurrent.CompletableFuture;
{{/supportAsync}}

{{#useBeanValidation}}
import javax.validation.constraints.*;
{{/useBeanValidation}}

{{#operations}}
@SuppressWarnings("RedundantThrows")
public interface {{classname}}ControllerImpInterface {
{{#operation}}
    {{^returnType}}void{{/returnType}}{{#returnType}}{{#supportAsync}}CompletionStage<{{/supportAsync}}{{>returnTypesNoVoid}}{{#supportAsync}}>{{/supportAsync}}{{/returnType}} {{operationId}}({{#allParams}}{{>pathParams}}{{>queryParams}}{{>bodyParams}}{{>formParams}}{{>headerParams}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) {{#handleExceptions}}throws Exception{{/handleExceptions}};

{{/operation}}
}
{{/operations}}