import { Request, Kafka as AWSKafka } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSKafka> = AWSKafka[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSKafka, Extras> = AWSKafka[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Kafka {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "kafka";
    readonly global: false;
    readonly category: "Application Integration";
    readonly topLevelCalls: readonly ["listClusters", "listClustersV2", "listConfigurations", "listKafkaVersions"];
    batchAssociateScramSecret: (params: ParamsFrom<'batchAssociateScramSecret', Record<string, never>>) => Promise<ReturnTypeFrom<'batchAssociateScramSecret'>>;
    createCluster: (params: ParamsFrom<'createCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createCluster'>>;
    createClusterV2: (params: ParamsFrom<'createClusterV2', Record<string, never>>) => Promise<ReturnTypeFrom<'createClusterV2'>>;
    createConfiguration: (params: ParamsFrom<'createConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createConfiguration'>>;
    deleteCluster: (params: ParamsFrom<'deleteCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCluster'>>;
    deleteConfiguration: (params: ParamsFrom<'deleteConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteConfiguration'>>;
    describeCluster: (params: ParamsFrom<'describeCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCluster'>>;
    describeClusterV2: (params: ParamsFrom<'describeClusterV2', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClusterV2'>>;
    describeClusterOperation: (params: ParamsFrom<'describeClusterOperation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClusterOperation'>>;
    describeConfiguration: (params: ParamsFrom<'describeConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConfiguration'>>;
    describeConfigurationRevision: (params: ParamsFrom<'describeConfigurationRevision', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConfigurationRevision'>>;
    batchDisassociateScramSecret: (params: ParamsFrom<'batchDisassociateScramSecret', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDisassociateScramSecret'>>;
    getBootstrapBrokers: (params: ParamsFrom<'getBootstrapBrokers', Record<string, never>>) => Promise<ReturnTypeFrom<'getBootstrapBrokers'>>;
    getCompatibleKafkaVersions: (params: ParamsFrom<'getCompatibleKafkaVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'getCompatibleKafkaVersions'>>;
    listClusterOperations(params: {
        [K in keyof ParamsFrom<'listClusterOperations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listClusterOperations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listClusterOperations'>]-?: ReturnTypeFrom<'listClusterOperations'>[K];
        }['ClusterOperationInfoList'];
    }>;
    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];
        }['ClusterInfoList'];
    }>;
    listClustersV2(params: {
        [K in keyof ParamsFrom<'listClustersV2', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listClustersV2', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listClustersV2'>]-?: ReturnTypeFrom<'listClustersV2'>[K];
        }['ClusterInfoList'];
    }>;
    listConfigurationRevisions(params: {
        [K in keyof ParamsFrom<'listConfigurationRevisions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listConfigurationRevisions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listConfigurationRevisions'>]-?: ReturnTypeFrom<'listConfigurationRevisions'>[K];
        }['Revisions'];
    }>;
    listConfigurations(params: {
        [K in keyof ParamsFrom<'listConfigurations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listConfigurations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listConfigurations'>]-?: ReturnTypeFrom<'listConfigurations'>[K];
        }['Configurations'];
    }>;
    listKafkaVersions(params: {
        [K in keyof ParamsFrom<'listKafkaVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listKafkaVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listKafkaVersions'>]-?: ReturnTypeFrom<'listKafkaVersions'>[K];
        }['KafkaVersions'];
    }>;
    listNodes(params: {
        [K in keyof ParamsFrom<'listNodes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listNodes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listNodes'>]-?: ReturnTypeFrom<'listNodes'>[K];
        }['NodeInfoList'];
    }>;
    listScramSecrets(params: {
        [K in keyof ParamsFrom<'listScramSecrets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listScramSecrets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listScramSecrets'>]-?: ReturnTypeFrom<'listScramSecrets'>[K];
        }['SecretArnList'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    rebootBroker: (params: ParamsFrom<'rebootBroker', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootBroker'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateBrokerCount: (params: ParamsFrom<'updateBrokerCount', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBrokerCount'>>;
    updateBrokerType: (params: ParamsFrom<'updateBrokerType', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBrokerType'>>;
    updateBrokerStorage: (params: ParamsFrom<'updateBrokerStorage', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBrokerStorage'>>;
    updateConfiguration: (params: ParamsFrom<'updateConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConfiguration'>>;
    updateConnectivity: (params: ParamsFrom<'updateConnectivity', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConnectivity'>>;
    updateClusterConfiguration: (params: ParamsFrom<'updateClusterConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateClusterConfiguration'>>;
    updateClusterKafkaVersion: (params: ParamsFrom<'updateClusterKafkaVersion', Record<string, never>>) => Promise<ReturnTypeFrom<'updateClusterKafkaVersion'>>;
    updateMonitoring: (params: ParamsFrom<'updateMonitoring', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMonitoring'>>;
    updateSecurity: (params: ParamsFrom<'updateSecurity', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSecurity'>>;
    static fromClient(client: AWSKafka): Kafka;
    static client(options?: AWSKafka.Types.ClientConfiguration): Kafka;
}
export {};
