import { Request, DynamoDB as AWSDynamoDB } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDynamoDB> = AWSDynamoDB[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDynamoDB, Extras> = AWSDynamoDB[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class DynamoDB {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "dynamodb";
    readonly global: false;
    readonly category: "Database";
    readonly topLevelCalls: readonly ["listContributorInsights", "listExports", "listImports", "listTables"];
    batchExecuteStatement: (params: ParamsFrom<'batchExecuteStatement', Record<string, never>>) => Promise<ReturnTypeFrom<'batchExecuteStatement'>>;
    batchGetItem: (params: ParamsFrom<'batchGetItem', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetItem'>>;
    batchWriteItem: (params: ParamsFrom<'batchWriteItem', Record<string, never>>) => Promise<ReturnTypeFrom<'batchWriteItem'>>;
    createBackup: (params: ParamsFrom<'createBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'createBackup'>>;
    createGlobalTable: (params: ParamsFrom<'createGlobalTable', Record<string, never>>) => Promise<ReturnTypeFrom<'createGlobalTable'>>;
    createTable: (params: ParamsFrom<'createTable', Record<string, never>>) => Promise<ReturnTypeFrom<'createTable'>>;
    deleteBackup: (params: ParamsFrom<'deleteBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBackup'>>;
    deleteItem: (params: ParamsFrom<'deleteItem', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteItem'>>;
    deleteTable: (params: ParamsFrom<'deleteTable', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTable'>>;
    describeBackup: (params: ParamsFrom<'describeBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'describeBackup'>>;
    describeContinuousBackups: (params: ParamsFrom<'describeContinuousBackups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeContinuousBackups'>>;
    describeContributorInsights: (params: ParamsFrom<'describeContributorInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'describeContributorInsights'>>;
    describeEndpoints: (params: ParamsFrom<'describeEndpoints', Record<string, never>>) => Promise<ReturnTypeFrom<'describeEndpoints'>>;
    describeExport: (params: ParamsFrom<'describeExport', Record<string, never>>) => Promise<ReturnTypeFrom<'describeExport'>>;
    describeGlobalTable: (params: ParamsFrom<'describeGlobalTable', Record<string, never>>) => Promise<ReturnTypeFrom<'describeGlobalTable'>>;
    describeGlobalTableSettings: (params: ParamsFrom<'describeGlobalTableSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'describeGlobalTableSettings'>>;
    describeImport: (params: ParamsFrom<'describeImport', Record<string, never>>) => Promise<ReturnTypeFrom<'describeImport'>>;
    describeKinesisStreamingDestination: (params: ParamsFrom<'describeKinesisStreamingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'describeKinesisStreamingDestination'>>;
    describeLimits: (params: ParamsFrom<'describeLimits', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLimits'>>;
    describeTable: (params: ParamsFrom<'describeTable', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTable'>>;
    describeTableReplicaAutoScaling: (params: ParamsFrom<'describeTableReplicaAutoScaling', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTableReplicaAutoScaling'>>;
    describeTimeToLive: (params: ParamsFrom<'describeTimeToLive', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTimeToLive'>>;
    disableKinesisStreamingDestination: (params: ParamsFrom<'disableKinesisStreamingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'disableKinesisStreamingDestination'>>;
    enableKinesisStreamingDestination: (params: ParamsFrom<'enableKinesisStreamingDestination', Record<string, never>>) => Promise<ReturnTypeFrom<'enableKinesisStreamingDestination'>>;
    executeStatement: (params: ParamsFrom<'executeStatement', Record<string, never>>) => Promise<ReturnTypeFrom<'executeStatement'>>;
    executeTransaction: (params: ParamsFrom<'executeTransaction', Record<string, never>>) => Promise<ReturnTypeFrom<'executeTransaction'>>;
    exportTableToPointInTime: (params: ParamsFrom<'exportTableToPointInTime', Record<string, never>>) => Promise<ReturnTypeFrom<'exportTableToPointInTime'>>;
    getItem: (params: ParamsFrom<'getItem', Record<string, never>>) => Promise<ReturnTypeFrom<'getItem'>>;
    importTable: (params: ParamsFrom<'importTable', Record<string, never>>) => Promise<ReturnTypeFrom<'importTable'>>;
    listBackups: (params: ParamsFrom<'listBackups', Record<string, never>>) => Promise<ReturnTypeFrom<'listBackups'>>;
    listContributorInsights: (params: ParamsFrom<'listContributorInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'listContributorInsights'>>;
    listExports: (params: ParamsFrom<'listExports', Record<string, never>>) => Promise<ReturnTypeFrom<'listExports'>>;
    listGlobalTables: (params: ParamsFrom<'listGlobalTables', Record<string, never>>) => Promise<ReturnTypeFrom<'listGlobalTables'>>;
    listImports: (params: ParamsFrom<'listImports', Record<string, never>>) => Promise<ReturnTypeFrom<'listImports'>>;
    listTables(params: {
        [K in keyof ParamsFrom<'listTables', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listTables', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTables'>]-?: ReturnTypeFrom<'listTables'>[K];
        }['TableNames'];
    }>;
    listTagsOfResource: (params: ParamsFrom<'listTagsOfResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsOfResource'>>;
    putItem: (params: ParamsFrom<'putItem', Record<string, never>>) => Promise<ReturnTypeFrom<'putItem'>>;
    query(params: {
        [K in keyof ParamsFrom<'query', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'query', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'query'>]-?: ReturnTypeFrom<'query'>[K];
        }['Items'];
    }>;
    restoreTableFromBackup: (params: ParamsFrom<'restoreTableFromBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreTableFromBackup'>>;
    restoreTableToPointInTime: (params: ParamsFrom<'restoreTableToPointInTime', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreTableToPointInTime'>>;
    scan(params: {
        [K in keyof ParamsFrom<'scan', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'scan', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'scan'>]-?: ReturnTypeFrom<'scan'>[K];
        }['Items'];
    }>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    transactGetItems: (params: ParamsFrom<'transactGetItems', Record<string, never>>) => Promise<ReturnTypeFrom<'transactGetItems'>>;
    transactWriteItems: (params: ParamsFrom<'transactWriteItems', Record<string, never>>) => Promise<ReturnTypeFrom<'transactWriteItems'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateContinuousBackups: (params: ParamsFrom<'updateContinuousBackups', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContinuousBackups'>>;
    updateContributorInsights: (params: ParamsFrom<'updateContributorInsights', Record<string, never>>) => Promise<ReturnTypeFrom<'updateContributorInsights'>>;
    updateGlobalTable: (params: ParamsFrom<'updateGlobalTable', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGlobalTable'>>;
    updateGlobalTableSettings: (params: ParamsFrom<'updateGlobalTableSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'updateGlobalTableSettings'>>;
    updateItem: (params: ParamsFrom<'updateItem', Record<string, never>>) => Promise<ReturnTypeFrom<'updateItem'>>;
    updateTable: (params: ParamsFrom<'updateTable', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTable'>>;
    updateTableReplicaAutoScaling: (params: ParamsFrom<'updateTableReplicaAutoScaling', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTableReplicaAutoScaling'>>;
    updateTimeToLive: (params: ParamsFrom<'updateTimeToLive', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTimeToLive'>>;
    static fromClient(client: AWSDynamoDB): DynamoDB;
    static client(options?: AWSDynamoDB.Types.ClientConfiguration): DynamoDB;
}
export {};
