import { Request, DocDB as AWSDocDB } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDocDB> = AWSDocDB[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDocDB, Extras> = AWSDocDB[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class DocDB {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "rds";
    readonly global: false;
    readonly category: "Database";
    readonly topLevelCalls: readonly ["describeCertificates", "describeDBClusterParameterGroups", "describeDBClusterSnapshots", "describeDBClusters", "describeDBEngineVersions", "describeDBInstances", "describeDBSubnetGroups", "describeEventSubscriptions", "describeEvents", "describeGlobalClusters", "describePendingMaintenanceActions"];
    addSourceIdentifierToSubscription: (params: ParamsFrom<'addSourceIdentifierToSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'addSourceIdentifierToSubscription'>>;
    addTagsToResource: (params: ParamsFrom<'addTagsToResource', Record<string, never>>) => Promise<ReturnTypeFrom<'addTagsToResource'>>;
    applyPendingMaintenanceAction: (params: ParamsFrom<'applyPendingMaintenanceAction', Record<string, never>>) => Promise<ReturnTypeFrom<'applyPendingMaintenanceAction'>>;
    copyDBClusterParameterGroup: (params: ParamsFrom<'copyDBClusterParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'copyDBClusterParameterGroup'>>;
    copyDBClusterSnapshot: (params: ParamsFrom<'copyDBClusterSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'copyDBClusterSnapshot'>>;
    createDBCluster: (params: ParamsFrom<'createDBCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createDBCluster'>>;
    createDBClusterParameterGroup: (params: ParamsFrom<'createDBClusterParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createDBClusterParameterGroup'>>;
    createDBClusterSnapshot: (params: ParamsFrom<'createDBClusterSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'createDBClusterSnapshot'>>;
    createDBInstance: (params: ParamsFrom<'createDBInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'createDBInstance'>>;
    createDBSubnetGroup: (params: ParamsFrom<'createDBSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createDBSubnetGroup'>>;
    createEventSubscription: (params: ParamsFrom<'createEventSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'createEventSubscription'>>;
    createGlobalCluster: (params: ParamsFrom<'createGlobalCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'createGlobalCluster'>>;
    deleteDBCluster: (params: ParamsFrom<'deleteDBCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDBCluster'>>;
    deleteDBClusterParameterGroup: (params: ParamsFrom<'deleteDBClusterParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDBClusterParameterGroup'>>;
    deleteDBClusterSnapshot: (params: ParamsFrom<'deleteDBClusterSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDBClusterSnapshot'>>;
    deleteDBInstance: (params: ParamsFrom<'deleteDBInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDBInstance'>>;
    deleteDBSubnetGroup: (params: ParamsFrom<'deleteDBSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDBSubnetGroup'>>;
    deleteEventSubscription: (params: ParamsFrom<'deleteEventSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteEventSubscription'>>;
    deleteGlobalCluster: (params: ParamsFrom<'deleteGlobalCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteGlobalCluster'>>;
    describeCertificates(params: {
        [K in keyof ParamsFrom<'describeCertificates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeCertificates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeCertificates'>]-?: ReturnTypeFrom<'describeCertificates'>[K];
        }['Certificates'];
    }>;
    describeDBClusterParameterGroups(params: {
        [K in keyof ParamsFrom<'describeDBClusterParameterGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBClusterParameterGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBClusterParameterGroups'>]-?: ReturnTypeFrom<'describeDBClusterParameterGroups'>[K];
        }['DBClusterParameterGroups'];
    }>;
    describeDBClusterParameters(params: {
        [K in keyof ParamsFrom<'describeDBClusterParameters', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBClusterParameters', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBClusterParameters'>]-?: ReturnTypeFrom<'describeDBClusterParameters'>[K];
        }['Parameters'];
    }>;
    describeDBClusterSnapshotAttributes: (params: ParamsFrom<'describeDBClusterSnapshotAttributes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDBClusterSnapshotAttributes'>>;
    describeDBClusterSnapshots(params: {
        [K in keyof ParamsFrom<'describeDBClusterSnapshots', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBClusterSnapshots', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBClusterSnapshots'>]-?: ReturnTypeFrom<'describeDBClusterSnapshots'>[K];
        }['DBClusterSnapshots'];
    }>;
    describeDBClusters(params: {
        [K in keyof ParamsFrom<'describeDBClusters', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBClusters', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBClusters'>]-?: ReturnTypeFrom<'describeDBClusters'>[K];
        }['DBClusters'];
    }>;
    describeDBEngineVersions(params: {
        [K in keyof ParamsFrom<'describeDBEngineVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBEngineVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBEngineVersions'>]-?: ReturnTypeFrom<'describeDBEngineVersions'>[K];
        }['DBEngineVersions'];
    }>;
    describeDBInstances(params: {
        [K in keyof ParamsFrom<'describeDBInstances', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBInstances', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBInstances'>]-?: ReturnTypeFrom<'describeDBInstances'>[K];
        }['DBInstances'];
    }>;
    describeDBSubnetGroups(params: {
        [K in keyof ParamsFrom<'describeDBSubnetGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeDBSubnetGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeDBSubnetGroups'>]-?: ReturnTypeFrom<'describeDBSubnetGroups'>[K];
        }['DBSubnetGroups'];
    }>;
    describeEngineDefaultClusterParameters: (params: ParamsFrom<'describeEngineDefaultClusterParameters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEngineDefaultClusterParameters'>>;
    describeEventCategories: (params: ParamsFrom<'describeEventCategories', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEventCategories'>>;
    describeEventSubscriptions(params: {
        [K in keyof ParamsFrom<'describeEventSubscriptions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEventSubscriptions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEventSubscriptions'>]-?: ReturnTypeFrom<'describeEventSubscriptions'>[K];
        }['EventSubscriptionsList'];
    }>;
    describeEvents(params: {
        [K in keyof ParamsFrom<'describeEvents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEvents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEvents'>]-?: ReturnTypeFrom<'describeEvents'>[K];
        }['Events'];
    }>;
    describeGlobalClusters(params: {
        [K in keyof ParamsFrom<'describeGlobalClusters', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeGlobalClusters', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeGlobalClusters'>]-?: ReturnTypeFrom<'describeGlobalClusters'>[K];
        }['GlobalClusters'];
    }>;
    describeOrderableDBInstanceOptions(params: {
        [K in keyof ParamsFrom<'describeOrderableDBInstanceOptions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeOrderableDBInstanceOptions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeOrderableDBInstanceOptions'>]-?: ReturnTypeFrom<'describeOrderableDBInstanceOptions'>[K];
        }['OrderableDBInstanceOptions'];
    }>;
    describePendingMaintenanceActions(params: {
        [K in keyof ParamsFrom<'describePendingMaintenanceActions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describePendingMaintenanceActions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describePendingMaintenanceActions'>]-?: ReturnTypeFrom<'describePendingMaintenanceActions'>[K];
        }['PendingMaintenanceActions'];
    }>;
    failoverDBCluster: (params: ParamsFrom<'failoverDBCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'failoverDBCluster'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    modifyDBCluster: (params: ParamsFrom<'modifyDBCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyDBCluster'>>;
    modifyDBClusterParameterGroup: (params: ParamsFrom<'modifyDBClusterParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyDBClusterParameterGroup'>>;
    modifyDBClusterSnapshotAttribute: (params: ParamsFrom<'modifyDBClusterSnapshotAttribute', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyDBClusterSnapshotAttribute'>>;
    modifyDBInstance: (params: ParamsFrom<'modifyDBInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyDBInstance'>>;
    modifyDBSubnetGroup: (params: ParamsFrom<'modifyDBSubnetGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyDBSubnetGroup'>>;
    modifyEventSubscription: (params: ParamsFrom<'modifyEventSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyEventSubscription'>>;
    modifyGlobalCluster: (params: ParamsFrom<'modifyGlobalCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyGlobalCluster'>>;
    rebootDBInstance: (params: ParamsFrom<'rebootDBInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootDBInstance'>>;
    removeFromGlobalCluster: (params: ParamsFrom<'removeFromGlobalCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'removeFromGlobalCluster'>>;
    removeSourceIdentifierFromSubscription: (params: ParamsFrom<'removeSourceIdentifierFromSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'removeSourceIdentifierFromSubscription'>>;
    removeTagsFromResource: (params: ParamsFrom<'removeTagsFromResource', Record<string, never>>) => Promise<ReturnTypeFrom<'removeTagsFromResource'>>;
    resetDBClusterParameterGroup: (params: ParamsFrom<'resetDBClusterParameterGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'resetDBClusterParameterGroup'>>;
    restoreDBClusterFromSnapshot: (params: ParamsFrom<'restoreDBClusterFromSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreDBClusterFromSnapshot'>>;
    restoreDBClusterToPointInTime: (params: ParamsFrom<'restoreDBClusterToPointInTime', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreDBClusterToPointInTime'>>;
    startDBCluster: (params: ParamsFrom<'startDBCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'startDBCluster'>>;
    stopDBCluster: (params: ParamsFrom<'stopDBCluster', Record<string, never>>) => Promise<ReturnTypeFrom<'stopDBCluster'>>;
    static fromClient(client: AWSDocDB): DocDB;
    static client(options?: AWSDocDB.Types.ClientConfiguration): DocDB;
}
export {};
