import { Request, MemoryDB as AWSMemoryDB } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMemoryDB> = AWSMemoryDB[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMemoryDB, Extras> = AWSMemoryDB[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MemoryDB {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "memory-db";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly [];
    batchUpdateCluster: (params: ParamsFrom<'batchUpdateCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'batchUpdateCluster'>>;
    copySnapshot: (params: ParamsFrom<'copySnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'copySnapshot'>>;
    createACL: (params: ParamsFrom<'createACL', Record<string, never>>) => Promise<ReturnTypeFrom<'createACL'>>;
    createCluster: (params: ParamsFrom<'createCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createCluster'>>;
    createParameterGroup: (params: ParamsFrom<'createParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createParameterGroup'>>;
    createSnapshot: (params: ParamsFrom<'createSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'createSnapshot'>>;
    createSubnetGroup: (params: ParamsFrom<'createSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createSubnetGroup'>>;
    createUser: (params: ParamsFrom<'createUser', Record<string, never>>) => Promise<ReturnTypeFrom<'createUser'>>;
    deleteACL: (params: ParamsFrom<'deleteACL', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteACL'>>;
    deleteCluster: (params: ParamsFrom<'deleteCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCluster'>>;
    deleteParameterGroup: (params: ParamsFrom<'deleteParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteParameterGroup'>>;
    deleteSnapshot: (params: ParamsFrom<'deleteSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSnapshot'>>;
    deleteSubnetGroup: (params: ParamsFrom<'deleteSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSubnetGroup'>>;
    deleteUser: (params: ParamsFrom<'deleteUser', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUser'>>;
    describeACLs: (params: ParamsFrom<'describeACLs', Record<string, never>>) => Promise<ReturnTypeFrom<'describeACLs'>>;
    describeClusters: (params: ParamsFrom<'describeClusters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClusters'>>;
    describeEngineVersions: (params: ParamsFrom<'describeEngineVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEngineVersions'>>;
    describeEvents: (params: ParamsFrom<'describeEvents', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEvents'>>;
    describeParameterGroups: (params: ParamsFrom<'describeParameterGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeParameterGroups'>>;
    describeParameters: (params: ParamsFrom<'describeParameters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeParameters'>>;
    describeServiceUpdates: (params: ParamsFrom<'describeServiceUpdates', Record<string, never>>) => Promise<ReturnTypeFrom<'describeServiceUpdates'>>;
    describeSnapshots: (params: ParamsFrom<'describeSnapshots', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSnapshots'>>;
    describeSubnetGroups: (params: ParamsFrom<'describeSubnetGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSubnetGroups'>>;
    describeUsers: (params: ParamsFrom<'describeUsers', Record<string, never>>) => Promise<ReturnTypeFrom<'describeUsers'>>;
    failoverShard: (params: ParamsFrom<'failoverShard', Record<string, never>>) => Promise<ReturnTypeFrom<'failoverShard'>>;
    listAllowedNodeTypeUpdates: (params: ParamsFrom<'listAllowedNodeTypeUpdates', Record<string, never>>) => Promise<ReturnTypeFrom<'listAllowedNodeTypeUpdates'>>;
    listTags: (params: ParamsFrom<'listTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listTags'>>;
    resetParameterGroup: (params: ParamsFrom<'resetParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'resetParameterGroup'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateACL: (params: ParamsFrom<'updateACL', Record<string, never>>) => Promise<ReturnTypeFrom<'updateACL'>>;
    updateCluster: (params: ParamsFrom<'updateCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCluster'>>;
    updateParameterGroup: (params: ParamsFrom<'updateParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateParameterGroup'>>;
    updateSubnetGroup: (params: ParamsFrom<'updateSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSubnetGroup'>>;
    updateUser: (params: ParamsFrom<'updateUser', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUser'>>;
    static fromClient(client: AWSMemoryDB): MemoryDB;
    static client(options?: AWSMemoryDB.Types.ClientConfiguration): MemoryDB;
}
export {};
