import { Request, DAX as AWSDAX } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDAX> = AWSDAX[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDAX, Extras> = AWSDAX[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class DAX {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "dax";
    readonly global: false;
    readonly category: "Database";
    readonly topLevelCalls: readonly [];
    createCluster: (params: ParamsFrom<'createCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createCluster'>>;
    createParameterGroup: (params: ParamsFrom<'createParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createParameterGroup'>>;
    createSubnetGroup: (params: ParamsFrom<'createSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createSubnetGroup'>>;
    decreaseReplicationFactor: (params: ParamsFrom<'decreaseReplicationFactor', Record<string, never>>) => Promise<ReturnTypeFrom<'decreaseReplicationFactor'>>;
    deleteCluster: (params: ParamsFrom<'deleteCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCluster'>>;
    deleteParameterGroup: (params: ParamsFrom<'deleteParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteParameterGroup'>>;
    deleteSubnetGroup: (params: ParamsFrom<'deleteSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSubnetGroup'>>;
    describeClusters: (params: ParamsFrom<'describeClusters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClusters'>>;
    describeDefaultParameters: (params: ParamsFrom<'describeDefaultParameters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDefaultParameters'>>;
    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'>>;
    describeSubnetGroups: (params: ParamsFrom<'describeSubnetGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSubnetGroups'>>;
    increaseReplicationFactor: (params: ParamsFrom<'increaseReplicationFactor', Record<string, never>>) => Promise<ReturnTypeFrom<'increaseReplicationFactor'>>;
    listTags: (params: ParamsFrom<'listTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listTags'>>;
    rebootNode: (params: ParamsFrom<'rebootNode', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootNode'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    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'>>;
    static fromClient(client: AWSDAX): DAX;
    static client(options?: AWSDAX.Types.ClientConfiguration): DAX;
}
export {};
