import { Request, APIGateway as AWSAPIGateway } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSAPIGateway> = AWSAPIGateway[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSAPIGateway, Extras> = AWSAPIGateway[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class APIGateway {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "apigateway";
    readonly global: false;
    readonly category: "Networking and Content Delivery";
    readonly topLevelCalls: readonly ["getApiKeys", "getClientCertificates", "getDomainNames", "getRestApis", "getUsagePlans", "getVpcLinks"];
    createApiKey: (params: ParamsFrom<'createApiKey', Record<string, never>>) => Promise<ReturnTypeFrom<'createApiKey'>>;
    createAuthorizer: (params: ParamsFrom<'createAuthorizer', Record<string, never>>) => Promise<ReturnTypeFrom<'createAuthorizer'>>;
    createBasePathMapping: (params: ParamsFrom<'createBasePathMapping', Record<string, never>>) => Promise<ReturnTypeFrom<'createBasePathMapping'>>;
    createDeployment: (params: ParamsFrom<'createDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'createDeployment'>>;
    createDocumentationPart: (params: ParamsFrom<'createDocumentationPart', Record<string, never>>) => Promise<ReturnTypeFrom<'createDocumentationPart'>>;
    createDocumentationVersion: (params: ParamsFrom<'createDocumentationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'createDocumentationVersion'>>;
    createDomainName: (params: ParamsFrom<'createDomainName', Record<string, never>>) => Promise<ReturnTypeFrom<'createDomainName'>>;
    createModel: (params: ParamsFrom<'createModel', Record<string, never>>) => Promise<ReturnTypeFrom<'createModel'>>;
    createRequestValidator: (params: ParamsFrom<'createRequestValidator', Record<string, never>>) => Promise<ReturnTypeFrom<'createRequestValidator'>>;
    createResource: (params: ParamsFrom<'createResource', Record<string, never>>) => Promise<ReturnTypeFrom<'createResource'>>;
    createRestApi: (params: ParamsFrom<'createRestApi', Record<string, never>>) => Promise<ReturnTypeFrom<'createRestApi'>>;
    createStage: (params: ParamsFrom<'createStage', Record<string, never>>) => Promise<ReturnTypeFrom<'createStage'>>;
    createUsagePlan: (params: ParamsFrom<'createUsagePlan', Record<string, never>>) => Promise<ReturnTypeFrom<'createUsagePlan'>>;
    createUsagePlanKey: (params: ParamsFrom<'createUsagePlanKey', Record<string, never>>) => Promise<ReturnTypeFrom<'createUsagePlanKey'>>;
    createVpcLink: (params: ParamsFrom<'createVpcLink', Record<string, never>>) => Promise<ReturnTypeFrom<'createVpcLink'>>;
    deleteApiKey: (params: ParamsFrom<'deleteApiKey', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApiKey'>>;
    deleteAuthorizer: (params: ParamsFrom<'deleteAuthorizer', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAuthorizer'>>;
    deleteBasePathMapping: (params: ParamsFrom<'deleteBasePathMapping', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBasePathMapping'>>;
    deleteClientCertificate: (params: ParamsFrom<'deleteClientCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteClientCertificate'>>;
    deleteDeployment: (params: ParamsFrom<'deleteDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDeployment'>>;
    deleteDocumentationPart: (params: ParamsFrom<'deleteDocumentationPart', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDocumentationPart'>>;
    deleteDocumentationVersion: (params: ParamsFrom<'deleteDocumentationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDocumentationVersion'>>;
    deleteDomainName: (params: ParamsFrom<'deleteDomainName', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDomainName'>>;
    deleteGatewayResponse: (params: ParamsFrom<'deleteGatewayResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGatewayResponse'>>;
    deleteIntegration: (params: ParamsFrom<'deleteIntegration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteIntegration'>>;
    deleteIntegrationResponse: (params: ParamsFrom<'deleteIntegrationResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteIntegrationResponse'>>;
    deleteMethod: (params: ParamsFrom<'deleteMethod', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMethod'>>;
    deleteMethodResponse: (params: ParamsFrom<'deleteMethodResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMethodResponse'>>;
    deleteModel: (params: ParamsFrom<'deleteModel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteModel'>>;
    deleteRequestValidator: (params: ParamsFrom<'deleteRequestValidator', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRequestValidator'>>;
    deleteResource: (params: ParamsFrom<'deleteResource', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResource'>>;
    deleteRestApi: (params: ParamsFrom<'deleteRestApi', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRestApi'>>;
    deleteStage: (params: ParamsFrom<'deleteStage', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStage'>>;
    deleteUsagePlan: (params: ParamsFrom<'deleteUsagePlan', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUsagePlan'>>;
    deleteUsagePlanKey: (params: ParamsFrom<'deleteUsagePlanKey', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUsagePlanKey'>>;
    deleteVpcLink: (params: ParamsFrom<'deleteVpcLink', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteVpcLink'>>;
    flushStageAuthorizersCache: (params: ParamsFrom<'flushStageAuthorizersCache', Record<string, never>>) => Promise<ReturnTypeFrom<'flushStageAuthorizersCache'>>;
    flushStageCache: (params: ParamsFrom<'flushStageCache', Record<string, never>>) => Promise<ReturnTypeFrom<'flushStageCache'>>;
    generateClientCertificate: (params: ParamsFrom<'generateClientCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'generateClientCertificate'>>;
    getAccount: (params: ParamsFrom<'getAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccount'>>;
    getApiKey: (params: ParamsFrom<'getApiKey', Record<string, never>>) => Promise<ReturnTypeFrom<'getApiKey'>>;
    getApiKeys(params: {
        [K in keyof ParamsFrom<'getApiKeys', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getApiKeys', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getApiKeys'>]-?: ReturnTypeFrom<'getApiKeys'>[K];
        }['items'];
    }>;
    getAuthorizer: (params: ParamsFrom<'getAuthorizer', Record<string, never>>) => Promise<ReturnTypeFrom<'getAuthorizer'>>;
    getAuthorizers: (params: ParamsFrom<'getAuthorizers', Record<string, never>>) => Promise<ReturnTypeFrom<'getAuthorizers'>>;
    getBasePathMapping: (params: ParamsFrom<'getBasePathMapping', Record<string, never>>) => Promise<ReturnTypeFrom<'getBasePathMapping'>>;
    getBasePathMappings(params: {
        [K in keyof ParamsFrom<'getBasePathMappings', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getBasePathMappings', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getBasePathMappings'>]-?: ReturnTypeFrom<'getBasePathMappings'>[K];
        }['items'];
    }>;
    getClientCertificate: (params: ParamsFrom<'getClientCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'getClientCertificate'>>;
    getClientCertificates(params: {
        [K in keyof ParamsFrom<'getClientCertificates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getClientCertificates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getClientCertificates'>]-?: ReturnTypeFrom<'getClientCertificates'>[K];
        }['items'];
    }>;
    getDeployment: (params: ParamsFrom<'getDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeployment'>>;
    getDeployments(params: {
        [K in keyof ParamsFrom<'getDeployments', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getDeployments', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getDeployments'>]-?: ReturnTypeFrom<'getDeployments'>[K];
        }['items'];
    }>;
    getDocumentationPart: (params: ParamsFrom<'getDocumentationPart', Record<string, never>>) => Promise<ReturnTypeFrom<'getDocumentationPart'>>;
    getDocumentationParts: (params: ParamsFrom<'getDocumentationParts', Record<string, never>>) => Promise<ReturnTypeFrom<'getDocumentationParts'>>;
    getDocumentationVersion: (params: ParamsFrom<'getDocumentationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'getDocumentationVersion'>>;
    getDocumentationVersions: (params: ParamsFrom<'getDocumentationVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'getDocumentationVersions'>>;
    getDomainName: (params: ParamsFrom<'getDomainName', Record<string, never>>) => Promise<ReturnTypeFrom<'getDomainName'>>;
    getDomainNames(params: {
        [K in keyof ParamsFrom<'getDomainNames', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getDomainNames', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getDomainNames'>]-?: ReturnTypeFrom<'getDomainNames'>[K];
        }['items'];
    }>;
    getExport: (params: ParamsFrom<'getExport', Record<string, never>>) => Promise<ReturnTypeFrom<'getExport'>>;
    getGatewayResponse: (params: ParamsFrom<'getGatewayResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'getGatewayResponse'>>;
    getGatewayResponses: (params: ParamsFrom<'getGatewayResponses', Record<string, never>>) => Promise<ReturnTypeFrom<'getGatewayResponses'>>;
    getIntegration: (params: ParamsFrom<'getIntegration', Record<string, never>>) => Promise<ReturnTypeFrom<'getIntegration'>>;
    getIntegrationResponse: (params: ParamsFrom<'getIntegrationResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'getIntegrationResponse'>>;
    getMethod: (params: ParamsFrom<'getMethod', Record<string, never>>) => Promise<ReturnTypeFrom<'getMethod'>>;
    getMethodResponse: (params: ParamsFrom<'getMethodResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'getMethodResponse'>>;
    getModel: (params: ParamsFrom<'getModel', Record<string, never>>) => Promise<ReturnTypeFrom<'getModel'>>;
    getModelTemplate: (params: ParamsFrom<'getModelTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'getModelTemplate'>>;
    getModels(params: {
        [K in keyof ParamsFrom<'getModels', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getModels', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getModels'>]-?: ReturnTypeFrom<'getModels'>[K];
        }['items'];
    }>;
    getRequestValidator: (params: ParamsFrom<'getRequestValidator', Record<string, never>>) => Promise<ReturnTypeFrom<'getRequestValidator'>>;
    getRequestValidators: (params: ParamsFrom<'getRequestValidators', Record<string, never>>) => Promise<ReturnTypeFrom<'getRequestValidators'>>;
    getResource: (params: ParamsFrom<'getResource', Record<string, never>>) => Promise<ReturnTypeFrom<'getResource'>>;
    getResources(params: {
        [K in keyof ParamsFrom<'getResources', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getResources', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getResources'>]-?: ReturnTypeFrom<'getResources'>[K];
        }['items'];
    }>;
    getRestApi: (params: ParamsFrom<'getRestApi', Record<string, never>>) => Promise<ReturnTypeFrom<'getRestApi'>>;
    getRestApis(params: {
        [K in keyof ParamsFrom<'getRestApis', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getRestApis', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getRestApis'>]-?: ReturnTypeFrom<'getRestApis'>[K];
        }['items'];
    }>;
    getSdk: (params: ParamsFrom<'getSdk', Record<string, never>>) => Promise<ReturnTypeFrom<'getSdk'>>;
    getSdkType: (params: ParamsFrom<'getSdkType', Record<string, never>>) => Promise<ReturnTypeFrom<'getSdkType'>>;
    getSdkTypes: (params: ParamsFrom<'getSdkTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'getSdkTypes'>>;
    getStage: (params: ParamsFrom<'getStage', Record<string, never>>) => Promise<ReturnTypeFrom<'getStage'>>;
    getStages: (params: ParamsFrom<'getStages', Record<string, never>>) => Promise<ReturnTypeFrom<'getStages'>>;
    getTags: (params: ParamsFrom<'getTags', Record<string, never>>) => Promise<ReturnTypeFrom<'getTags'>>;
    getUsage(params: {
        [K in keyof ParamsFrom<'getUsage', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getUsage', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getUsage'>]-?: ReturnTypeFrom<'getUsage'>[K];
        }['items'];
    }>;
    getUsagePlan: (params: ParamsFrom<'getUsagePlan', Record<string, never>>) => Promise<ReturnTypeFrom<'getUsagePlan'>>;
    getUsagePlanKey: (params: ParamsFrom<'getUsagePlanKey', Record<string, never>>) => Promise<ReturnTypeFrom<'getUsagePlanKey'>>;
    getUsagePlanKeys(params: {
        [K in keyof ParamsFrom<'getUsagePlanKeys', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getUsagePlanKeys', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getUsagePlanKeys'>]-?: ReturnTypeFrom<'getUsagePlanKeys'>[K];
        }['items'];
    }>;
    getUsagePlans(params: {
        [K in keyof ParamsFrom<'getUsagePlans', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getUsagePlans', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getUsagePlans'>]-?: ReturnTypeFrom<'getUsagePlans'>[K];
        }['items'];
    }>;
    getVpcLink: (params: ParamsFrom<'getVpcLink', Record<string, never>>) => Promise<ReturnTypeFrom<'getVpcLink'>>;
    getVpcLinks(params: {
        [K in keyof ParamsFrom<'getVpcLinks', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getVpcLinks', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getVpcLinks'>]-?: ReturnTypeFrom<'getVpcLinks'>[K];
        }['items'];
    }>;
    importApiKeys: (params: ParamsFrom<'importApiKeys', Record<string, never>>) => Promise<ReturnTypeFrom<'importApiKeys'>>;
    importDocumentationParts: (params: ParamsFrom<'importDocumentationParts', Record<string, never>>) => Promise<ReturnTypeFrom<'importDocumentationParts'>>;
    importRestApi: (params: ParamsFrom<'importRestApi', Record<string, never>>) => Promise<ReturnTypeFrom<'importRestApi'>>;
    putGatewayResponse: (params: ParamsFrom<'putGatewayResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'putGatewayResponse'>>;
    putIntegration: (params: ParamsFrom<'putIntegration', Record<string, never>>) => Promise<ReturnTypeFrom<'putIntegration'>>;
    putIntegrationResponse: (params: ParamsFrom<'putIntegrationResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'putIntegrationResponse'>>;
    putMethod: (params: ParamsFrom<'putMethod', Record<string, never>>) => Promise<ReturnTypeFrom<'putMethod'>>;
    putMethodResponse: (params: ParamsFrom<'putMethodResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'putMethodResponse'>>;
    putRestApi: (params: ParamsFrom<'putRestApi', Record<string, never>>) => Promise<ReturnTypeFrom<'putRestApi'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    testInvokeAuthorizer: (params: ParamsFrom<'testInvokeAuthorizer', Record<string, never>>) => Promise<ReturnTypeFrom<'testInvokeAuthorizer'>>;
    testInvokeMethod: (params: ParamsFrom<'testInvokeMethod', Record<string, never>>) => Promise<ReturnTypeFrom<'testInvokeMethod'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateAccount: (params: ParamsFrom<'updateAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAccount'>>;
    updateApiKey: (params: ParamsFrom<'updateApiKey', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApiKey'>>;
    updateAuthorizer: (params: ParamsFrom<'updateAuthorizer', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAuthorizer'>>;
    updateBasePathMapping: (params: ParamsFrom<'updateBasePathMapping', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBasePathMapping'>>;
    updateClientCertificate: (params: ParamsFrom<'updateClientCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateClientCertificate'>>;
    updateDeployment: (params: ParamsFrom<'updateDeployment', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDeployment'>>;
    updateDocumentationPart: (params: ParamsFrom<'updateDocumentationPart', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDocumentationPart'>>;
    updateDocumentationVersion: (params: ParamsFrom<'updateDocumentationVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDocumentationVersion'>>;
    updateDomainName: (params: ParamsFrom<'updateDomainName', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDomainName'>>;
    updateGatewayResponse: (params: ParamsFrom<'updateGatewayResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGatewayResponse'>>;
    updateIntegration: (params: ParamsFrom<'updateIntegration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateIntegration'>>;
    updateIntegrationResponse: (params: ParamsFrom<'updateIntegrationResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'updateIntegrationResponse'>>;
    updateMethod: (params: ParamsFrom<'updateMethod', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMethod'>>;
    updateMethodResponse: (params: ParamsFrom<'updateMethodResponse', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMethodResponse'>>;
    updateModel: (params: ParamsFrom<'updateModel', Record<string, never>>) => Promise<ReturnTypeFrom<'updateModel'>>;
    updateRequestValidator: (params: ParamsFrom<'updateRequestValidator', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRequestValidator'>>;
    updateResource: (params: ParamsFrom<'updateResource', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResource'>>;
    updateRestApi: (params: ParamsFrom<'updateRestApi', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRestApi'>>;
    updateStage: (params: ParamsFrom<'updateStage', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStage'>>;
    updateUsage: (params: ParamsFrom<'updateUsage', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUsage'>>;
    updateUsagePlan: (params: ParamsFrom<'updateUsagePlan', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUsagePlan'>>;
    updateVpcLink: (params: ParamsFrom<'updateVpcLink', Record<string, never>>) => Promise<ReturnTypeFrom<'updateVpcLink'>>;
    static fromClient(client: AWSAPIGateway): APIGateway;
    static client(options?: AWSAPIGateway.Types.ClientConfiguration): APIGateway;
}
export {};
