import { Request, ECS as AWSECS } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSECS> = AWSECS[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSECS, Extras> = AWSECS[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ECS {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "ecs";
    readonly global: false;
    readonly category: "Containers";
    readonly topLevelCalls: readonly ["listAccountSettings", "listClusters", "listContainerInstances", "listServices", "listTaskDefinitionFamilies", "listTaskDefinitions", "listTasks"];
    createCapacityProvider: (params: ParamsFrom<'createCapacityProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'createCapacityProvider'>>;
    createCluster: (params: ParamsFrom<'createCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createCluster'>>;
    createService: (params: ParamsFrom<'createService', Record<string, never>>) => Promise<ReturnTypeFrom<'createService'>>;
    createTaskSet: (params: ParamsFrom<'createTaskSet', Record<string, never>>) => Promise<ReturnTypeFrom<'createTaskSet'>>;
    deleteAccountSetting: (params: ParamsFrom<'deleteAccountSetting', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccountSetting'>>;
    deleteAttributes: (params: ParamsFrom<'deleteAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAttributes'>>;
    deleteCapacityProvider: (params: ParamsFrom<'deleteCapacityProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCapacityProvider'>>;
    deleteCluster: (params: ParamsFrom<'deleteCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCluster'>>;
    deleteService: (params: ParamsFrom<'deleteService', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteService'>>;
    deleteTaskSet: (params: ParamsFrom<'deleteTaskSet', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTaskSet'>>;
    deregisterContainerInstance: (params: ParamsFrom<'deregisterContainerInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterContainerInstance'>>;
    deregisterTaskDefinition: (params: ParamsFrom<'deregisterTaskDefinition', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterTaskDefinition'>>;
    describeCapacityProviders: (params: ParamsFrom<'describeCapacityProviders', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCapacityProviders'>>;
    describeClusters: (params: ParamsFrom<'describeClusters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClusters'>>;
    describeContainerInstances: (params: ParamsFrom<'describeContainerInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'describeContainerInstances'>>;
    describeServices: (params: ParamsFrom<'describeServices', Record<string, never>>) => Promise<ReturnTypeFrom<'describeServices'>>;
    describeTaskDefinition: (params: ParamsFrom<'describeTaskDefinition', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTaskDefinition'>>;
    describeTaskSets: (params: ParamsFrom<'describeTaskSets', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTaskSets'>>;
    describeTasks: (params: ParamsFrom<'describeTasks', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTasks'>>;
    discoverPollEndpoint: (params: ParamsFrom<'discoverPollEndpoint', Record<string, never>>) => Promise<ReturnTypeFrom<'discoverPollEndpoint'>>;
    executeCommand: (params: ParamsFrom<'executeCommand', Record<string, never>>) => Promise<ReturnTypeFrom<'executeCommand'>>;
    listAccountSettings(params: {
        [K in keyof ParamsFrom<'listAccountSettings', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAccountSettings', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAccountSettings'>]-?: ReturnTypeFrom<'listAccountSettings'>[K];
        }['settings'];
    }>;
    listAttributes(params: {
        [K in keyof ParamsFrom<'listAttributes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAttributes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAttributes'>]-?: ReturnTypeFrom<'listAttributes'>[K];
        }['attributes'];
    }>;
    listClusters(params: {
        [K in keyof ParamsFrom<'listClusters', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listClusters', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listClusters'>]-?: ReturnTypeFrom<'listClusters'>[K];
        }['clusterArns'];
    }>;
    listContainerInstances(params: {
        [K in keyof ParamsFrom<'listContainerInstances', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listContainerInstances', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listContainerInstances'>]-?: ReturnTypeFrom<'listContainerInstances'>[K];
        }['containerInstanceArns'];
    }>;
    listServices(params: {
        [K in keyof ParamsFrom<'listServices', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listServices', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listServices'>]-?: ReturnTypeFrom<'listServices'>[K];
        }['serviceArns'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listTaskDefinitionFamilies(params: {
        [K in keyof ParamsFrom<'listTaskDefinitionFamilies', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTaskDefinitionFamilies', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTaskDefinitionFamilies'>]-?: ReturnTypeFrom<'listTaskDefinitionFamilies'>[K];
        }['families'];
    }>;
    listTaskDefinitions(params: {
        [K in keyof ParamsFrom<'listTaskDefinitions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTaskDefinitions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTaskDefinitions'>]-?: ReturnTypeFrom<'listTaskDefinitions'>[K];
        }['taskDefinitionArns'];
    }>;
    listTasks(params: {
        [K in keyof ParamsFrom<'listTasks', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTasks', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTasks'>]-?: ReturnTypeFrom<'listTasks'>[K];
        }['taskArns'];
    }>;
    putAccountSetting: (params: ParamsFrom<'putAccountSetting', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccountSetting'>>;
    putAccountSettingDefault: (params: ParamsFrom<'putAccountSettingDefault', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccountSettingDefault'>>;
    putAttributes: (params: ParamsFrom<'putAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'putAttributes'>>;
    putClusterCapacityProviders: (params: ParamsFrom<'putClusterCapacityProviders', Record<string, never>>) => Promise<ReturnTypeFrom<'putClusterCapacityProviders'>>;
    registerContainerInstance: (params: ParamsFrom<'registerContainerInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'registerContainerInstance'>>;
    registerTaskDefinition: (params: ParamsFrom<'registerTaskDefinition', Record<string, never>>) => Promise<ReturnTypeFrom<'registerTaskDefinition'>>;
    runTask: (params: ParamsFrom<'runTask', Record<string, never>>) => Promise<ReturnTypeFrom<'runTask'>>;
    startTask: (params: ParamsFrom<'startTask', Record<string, never>>) => Promise<ReturnTypeFrom<'startTask'>>;
    stopTask: (params: ParamsFrom<'stopTask', Record<string, never>>) => Promise<ReturnTypeFrom<'stopTask'>>;
    submitAttachmentStateChanges: (params: ParamsFrom<'submitAttachmentStateChanges', Record<string, never>>) => Promise<ReturnTypeFrom<'submitAttachmentStateChanges'>>;
    submitContainerStateChange: (params: ParamsFrom<'submitContainerStateChange', Record<string, never>>) => Promise<ReturnTypeFrom<'submitContainerStateChange'>>;
    submitTaskStateChange: (params: ParamsFrom<'submitTaskStateChange', Record<string, never>>) => Promise<ReturnTypeFrom<'submitTaskStateChange'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateCapacityProvider: (params: ParamsFrom<'updateCapacityProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCapacityProvider'>>;
    updateCluster: (params: ParamsFrom<'updateCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCluster'>>;
    updateClusterSettings: (params: ParamsFrom<'updateClusterSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'updateClusterSettings'>>;
    updateContainerAgent: (params: ParamsFrom<'updateContainerAgent', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContainerAgent'>>;
    updateContainerInstancesState: (params: ParamsFrom<'updateContainerInstancesState', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContainerInstancesState'>>;
    updateService: (params: ParamsFrom<'updateService', Record<string, never>>) => Promise<ReturnTypeFrom<'updateService'>>;
    updateServicePrimaryTaskSet: (params: ParamsFrom<'updateServicePrimaryTaskSet', Record<string, never>>) => Promise<ReturnTypeFrom<'updateServicePrimaryTaskSet'>>;
    updateTaskSet: (params: ParamsFrom<'updateTaskSet', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTaskSet'>>;
    static fromClient(client: AWSECS): ECS;
    static client(options?: AWSECS.Types.ClientConfiguration): ECS;
}
export {};
