import { Request, GlobalAccelerator as AWSGlobalAccelerator } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSGlobalAccelerator> = AWSGlobalAccelerator[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSGlobalAccelerator, Extras> = AWSGlobalAccelerator[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class GlobalAccelerator {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "globalaccelerator";
    readonly global: false;
    readonly category: "Networking and Content Delivery";
    readonly topLevelCalls: readonly ["listAccelerators", "listByoipCidrs", "listCustomRoutingAccelerators"];
    addCustomRoutingEndpoints: (params: ParamsFrom<'addCustomRoutingEndpoints', Record<string, never>>) => Promise<ReturnTypeFrom<'addCustomRoutingEndpoints'>>;
    advertiseByoipCidr: (params: ParamsFrom<'advertiseByoipCidr', Record<string, never>>) => Promise<ReturnTypeFrom<'advertiseByoipCidr'>>;
    allowCustomRoutingTraffic: (params: ParamsFrom<'allowCustomRoutingTraffic', Record<string, never>>) => Promise<ReturnTypeFrom<'allowCustomRoutingTraffic'>>;
    createAccelerator: (params: ParamsFrom<'createAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccelerator'>>;
    createCustomRoutingAccelerator: (params: ParamsFrom<'createCustomRoutingAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'createCustomRoutingAccelerator'>>;
    createCustomRoutingEndpointGroup: (params: ParamsFrom<'createCustomRoutingEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createCustomRoutingEndpointGroup'>>;
    createCustomRoutingListener: (params: ParamsFrom<'createCustomRoutingListener', Record<string, never>>) => Promise<ReturnTypeFrom<'createCustomRoutingListener'>>;
    createEndpointGroup: (params: ParamsFrom<'createEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createEndpointGroup'>>;
    createListener: (params: ParamsFrom<'createListener', Record<string, never>>) => Promise<ReturnTypeFrom<'createListener'>>;
    deleteAccelerator: (params: ParamsFrom<'deleteAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccelerator'>>;
    deleteCustomRoutingAccelerator: (params: ParamsFrom<'deleteCustomRoutingAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCustomRoutingAccelerator'>>;
    deleteCustomRoutingEndpointGroup: (params: ParamsFrom<'deleteCustomRoutingEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCustomRoutingEndpointGroup'>>;
    deleteCustomRoutingListener: (params: ParamsFrom<'deleteCustomRoutingListener', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCustomRoutingListener'>>;
    deleteEndpointGroup: (params: ParamsFrom<'deleteEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteEndpointGroup'>>;
    deleteListener: (params: ParamsFrom<'deleteListener', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteListener'>>;
    denyCustomRoutingTraffic: (params: ParamsFrom<'denyCustomRoutingTraffic', Record<string, never>>) => Promise<ReturnTypeFrom<'denyCustomRoutingTraffic'>>;
    deprovisionByoipCidr: (params: ParamsFrom<'deprovisionByoipCidr', Record<string, never>>) => Promise<ReturnTypeFrom<'deprovisionByoipCidr'>>;
    describeAccelerator: (params: ParamsFrom<'describeAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccelerator'>>;
    describeAcceleratorAttributes: (params: ParamsFrom<'describeAcceleratorAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAcceleratorAttributes'>>;
    describeCustomRoutingAccelerator: (params: ParamsFrom<'describeCustomRoutingAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCustomRoutingAccelerator'>>;
    describeCustomRoutingAcceleratorAttributes: (params: ParamsFrom<'describeCustomRoutingAcceleratorAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCustomRoutingAcceleratorAttributes'>>;
    describeCustomRoutingEndpointGroup: (params: ParamsFrom<'describeCustomRoutingEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCustomRoutingEndpointGroup'>>;
    describeCustomRoutingListener: (params: ParamsFrom<'describeCustomRoutingListener', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCustomRoutingListener'>>;
    describeEndpointGroup: (params: ParamsFrom<'describeEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEndpointGroup'>>;
    describeListener: (params: ParamsFrom<'describeListener', Record<string, never>>) => Promise<ReturnTypeFrom<'describeListener'>>;
    listAccelerators(params: {
        [K in keyof ParamsFrom<'listAccelerators', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccelerators', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccelerators'>]-?: ReturnTypeFrom<'listAccelerators'>[K];
        }['Accelerators'];
    }>;
    listByoipCidrs(params: {
        [K in keyof ParamsFrom<'listByoipCidrs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listByoipCidrs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listByoipCidrs'>]-?: ReturnTypeFrom<'listByoipCidrs'>[K];
        }['ByoipCidrs'];
    }>;
    listCustomRoutingAccelerators(params: {
        [K in keyof ParamsFrom<'listCustomRoutingAccelerators', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCustomRoutingAccelerators', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCustomRoutingAccelerators'>]-?: ReturnTypeFrom<'listCustomRoutingAccelerators'>[K];
        }['Accelerators'];
    }>;
    listCustomRoutingEndpointGroups: (params: ParamsFrom<'listCustomRoutingEndpointGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'listCustomRoutingEndpointGroups'>>;
    listCustomRoutingListeners(params: {
        [K in keyof ParamsFrom<'listCustomRoutingListeners', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCustomRoutingListeners', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCustomRoutingListeners'>]-?: ReturnTypeFrom<'listCustomRoutingListeners'>[K];
        }['Listeners'];
    }>;
    listCustomRoutingPortMappings(params: {
        [K in keyof ParamsFrom<'listCustomRoutingPortMappings', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCustomRoutingPortMappings', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCustomRoutingPortMappings'>]-?: ReturnTypeFrom<'listCustomRoutingPortMappings'>[K];
        }['PortMappings'];
    }>;
    listCustomRoutingPortMappingsByDestination(params: {
        [K in keyof ParamsFrom<'listCustomRoutingPortMappingsByDestination', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCustomRoutingPortMappingsByDestination', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCustomRoutingPortMappingsByDestination'>]-?: ReturnTypeFrom<'listCustomRoutingPortMappingsByDestination'>[K];
        }['DestinationPortMappings'];
    }>;
    listEndpointGroups(params: {
        [K in keyof ParamsFrom<'listEndpointGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listEndpointGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEndpointGroups'>]-?: ReturnTypeFrom<'listEndpointGroups'>[K];
        }['EndpointGroups'];
    }>;
    listListeners(params: {
        [K in keyof ParamsFrom<'listListeners', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listListeners', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listListeners'>]-?: ReturnTypeFrom<'listListeners'>[K];
        }['Listeners'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    provisionByoipCidr: (params: ParamsFrom<'provisionByoipCidr', Record<string, never>>) => Promise<ReturnTypeFrom<'provisionByoipCidr'>>;
    removeCustomRoutingEndpoints: (params: ParamsFrom<'removeCustomRoutingEndpoints', Record<string, never>>) => Promise<ReturnTypeFrom<'removeCustomRoutingEndpoints'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateAccelerator: (params: ParamsFrom<'updateAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAccelerator'>>;
    updateAcceleratorAttributes: (params: ParamsFrom<'updateAcceleratorAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAcceleratorAttributes'>>;
    updateCustomRoutingAccelerator: (params: ParamsFrom<'updateCustomRoutingAccelerator', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCustomRoutingAccelerator'>>;
    updateCustomRoutingAcceleratorAttributes: (params: ParamsFrom<'updateCustomRoutingAcceleratorAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCustomRoutingAcceleratorAttributes'>>;
    updateCustomRoutingListener: (params: ParamsFrom<'updateCustomRoutingListener', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCustomRoutingListener'>>;
    updateEndpointGroup: (params: ParamsFrom<'updateEndpointGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateEndpointGroup'>>;
    updateListener: (params: ParamsFrom<'updateListener', Record<string, never>>) => Promise<ReturnTypeFrom<'updateListener'>>;
    withdrawByoipCidr: (params: ParamsFrom<'withdrawByoipCidr', Record<string, never>>) => Promise<ReturnTypeFrom<'withdrawByoipCidr'>>;
    static fromClient(client: AWSGlobalAccelerator): GlobalAccelerator;
    static client(options?: AWSGlobalAccelerator.Types.ClientConfiguration): GlobalAccelerator;
}
export {};
