{{!--
The body of the API group invoker interface.

@param . the api operation group
--}}
{{#if securitySchemes}}
{{#each securitySchemes}}
{{#if (and @first @last)}}
{{#set '__securitySchemeName'}}
{{/set}}
{{else}}
{{#set '__securitySchemeName'}}
{{{className name}}}
{{/set}}
{{/if}}
{{#ifeq type 'apiKey'}}
/**
 * Authorize requests using an API key for the security scheme "{{name}}"
 */
void authorize{{{__securitySchemeName}}}(java.lang.String apiKeyValue);

/**
 * Returns the API key used to authorize requests for the security scheme "{{name}}".
 */
java.lang.String get{{{__securitySchemeName}}}Authorization();
{{/ifeq}}
{{#ifeq type 'http'}}
{{#ifeq scheme 'basic'}}
/**
 * Authorize requests using HTTP Basic authorization for the security scheme "{{name}}".
 */
void authorize{{{__securitySchemeName}}}(java.lang.String username, java.lang.String password);

/**
 * Returns the username used to authorize requests for the security scheme "{{name}}".
 */
java.lang.String get{{#if __securitySchemeName}}{{{__securitySchemeName}}}{{else}}Authorization{{/if}}Username();

/**
 * Returns the password used to authorize requests for the security scheme "{{name}}".
 */
java.lang.String get{{#if __securitySchemeName}}{{{__securitySchemeName}}}{{else}}Authorization{{/if}}Password();
{{else}}
/**
 * Authorize requests using {{scheme}} authorization for the security scheme "{{name}}".
 */
void authorize{{{__securitySchemeName}}}(java.lang.String value);

/**
 * Returns the value used to authorize requests for the security scheme "{{name}}".
 */
java.lang.String get{{{__securitySchemeName}}}Authorization();
{{/ifeq}}
{{/ifeq}}
{{#or (ifeq type 'oauth2') (ifeq type 'openIdConnect')}}
/**
 * Authorize requests using an OAuth2 Bearer token value for the security scheme "{{name}}".
 */
void authorize{{{__securitySchemeName}}}(java.lang.String bearerToken);

/**
 * Returns the OAuth2 Bearer token value used to authorize requests for the security scheme "{{name}}".
 */
java.lang.String get{{{__securitySchemeName}}}Authorization();
{{/or}}

{{/each}}
{{/if}}
org.apache.cxf.jaxrs.client.Client client();

/**
 * Returns the timeout on API requests in milliseconds.
 */
long getReceiveTimeout();

/**
 * Set the timeout on API requests in milliseconds.
 */
void setReceiveTimeout(long receiveTimeout);

/**
 * Returns the timeout on connections to the API in milliseconds.
 */
long getConnectionTimeout();

/**
 * Set the timeout on connections to the API in milliseconds.
 */
void setConnectionTimeout(long connectionTimeout);

