import { Request, EKS as AWSEKS } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSEKS> = AWSEKS[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSEKS, Extras> = AWSEKS[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class EKS {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "eks";
    readonly global: false;
    readonly category: "Containers";
    readonly topLevelCalls: readonly ["describeAddonVersions", "listClusters"];
    associateEncryptionConfig: (params: ParamsFrom<'associateEncryptionConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'associateEncryptionConfig'>>;
    associateIdentityProviderConfig: (params: ParamsFrom<'associateIdentityProviderConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'associateIdentityProviderConfig'>>;
    createAddon: (params: ParamsFrom<'createAddon', Record<string, never>>) => Promise<ReturnTypeFrom<'createAddon'>>;
    createCluster: (params: ParamsFrom<'createCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createCluster'>>;
    createFargateProfile: (params: ParamsFrom<'createFargateProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createFargateProfile'>>;
    createNodegroup: (params: ParamsFrom<'createNodegroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createNodegroup'>>;
    deleteAddon: (params: ParamsFrom<'deleteAddon', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAddon'>>;
    deleteCluster: (params: ParamsFrom<'deleteCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCluster'>>;
    deleteFargateProfile: (params: ParamsFrom<'deleteFargateProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFargateProfile'>>;
    deleteNodegroup: (params: ParamsFrom<'deleteNodegroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteNodegroup'>>;
    deregisterCluster: (params: ParamsFrom<'deregisterCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterCluster'>>;
    describeAddon: (params: ParamsFrom<'describeAddon', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAddon'>>;
    describeAddonVersions(params: {
        [K in keyof ParamsFrom<'describeAddonVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeAddonVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeAddonVersions'>]-?: ReturnTypeFrom<'describeAddonVersions'>[K];
        }['addons'];
    }>;
    describeCluster: (params: ParamsFrom<'describeCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCluster'>>;
    describeFargateProfile: (params: ParamsFrom<'describeFargateProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFargateProfile'>>;
    describeIdentityProviderConfig: (params: ParamsFrom<'describeIdentityProviderConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'describeIdentityProviderConfig'>>;
    describeNodegroup: (params: ParamsFrom<'describeNodegroup', Record<string, never>>) => Promise<ReturnTypeFrom<'describeNodegroup'>>;
    describeUpdate: (params: ParamsFrom<'describeUpdate', Record<string, never>>) => Promise<ReturnTypeFrom<'describeUpdate'>>;
    disassociateIdentityProviderConfig: (params: ParamsFrom<'disassociateIdentityProviderConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateIdentityProviderConfig'>>;
    listAddons(params: {
        [K in keyof ParamsFrom<'listAddons', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAddons', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAddons'>]-?: ReturnTypeFrom<'listAddons'>[K];
        }['addons'];
    }>;
    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];
        }['clusters'];
    }>;
    listFargateProfiles(params: {
        [K in keyof ParamsFrom<'listFargateProfiles', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listFargateProfiles', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listFargateProfiles'>]-?: ReturnTypeFrom<'listFargateProfiles'>[K];
        }['fargateProfileNames'];
    }>;
    listIdentityProviderConfigs(params: {
        [K in keyof ParamsFrom<'listIdentityProviderConfigs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listIdentityProviderConfigs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listIdentityProviderConfigs'>]-?: ReturnTypeFrom<'listIdentityProviderConfigs'>[K];
        }['identityProviderConfigs'];
    }>;
    listNodegroups(params: {
        [K in keyof ParamsFrom<'listNodegroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listNodegroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listNodegroups'>]-?: ReturnTypeFrom<'listNodegroups'>[K];
        }['nodegroups'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listUpdates(params: {
        [K in keyof ParamsFrom<'listUpdates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUpdates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUpdates'>]-?: ReturnTypeFrom<'listUpdates'>[K];
        }['updateIds'];
    }>;
    registerCluster: (params: ParamsFrom<'registerCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'registerCluster'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateAddon: (params: ParamsFrom<'updateAddon', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAddon'>>;
    updateClusterConfig: (params: ParamsFrom<'updateClusterConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateClusterConfig'>>;
    updateClusterVersion: (params: ParamsFrom<'updateClusterVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'updateClusterVersion'>>;
    updateNodegroupConfig: (params: ParamsFrom<'updateNodegroupConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateNodegroupConfig'>>;
    updateNodegroupVersion: (params: ParamsFrom<'updateNodegroupVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'updateNodegroupVersion'>>;
    static fromClient(client: AWSEKS): EKS;
    static client(options?: AWSEKS.Types.ClientConfiguration): EKS;
}
export {};
