import { BatchGetItemInput } from 'aws-sdk/clients/dynamodb';
import { Observable } from 'rxjs';
import { ModelConstructor } from '../../model/model-constructor';
import { PrimaryKey } from '../primary-key.type';
import { SessionValidityEnsurer } from '../session-validity-ensurer.type';
import { TableNameResolver } from '../table-name-resolver.type';
import { BatchGetFullResponse } from './batch-get-full.response';
import { BatchGetResponse } from './batch-get.response';
export declare class BatchGetRequest {
    private tableNameResolver;
    private readonly dynamoRx;
    private tables;
    readonly params: BatchGetItemInput;
    constructor(tableNameResolver?: TableNameResolver, sessionValidityEnsurer?: SessionValidityEnsurer);
    /**
     * @param {ModelConstructor<T>} modelClazz
     * @param {any[]} keys either a simple string for partition key or an object with partitionKey and sortKey
     * @returns {BatchGetSingleTableRequest}
     */
    forModel<T>(modelClazz: ModelConstructor<T>, keys: Array<string | PrimaryKey>): BatchGetRequest;
    execFullResponse(): Observable<BatchGetFullResponse>;
    exec(): Observable<BatchGetResponse>;
    private getTableName;
}
