import { BatchGetItemInput, BatchWriteItemInput, DeleteItemInput, GetItemInput, PutItemInput, QueryInput, ReturnConsumedCapacity, ScanInput, TransactGetItemsInput, TransactWriteItemsInput, UpdateItemInput } from 'aws-sdk/clients/dynamodb';
import { Metadata } from '../../decorator/metadata/metadata';
import { ModelConstructor } from '../../model/model-constructor';
import { DynamoRx } from '../dynamo-rx';
export declare abstract class BaseRequest<T, I extends DeleteItemInput | GetItemInput | PutItemInput | UpdateItemInput | QueryInput | ScanInput | BatchGetItemInput | BatchWriteItemInput | TransactGetItemsInput | TransactWriteItemsInput, R extends BaseRequest<T, I, any>> {
    readonly dynamoRx: DynamoRx;
    readonly modelClazz: ModelConstructor<T>;
    readonly metadata: Metadata<T>;
    readonly tableName: string;
    readonly params: I;
    protected constructor(dynamoRx: DynamoRx, modelClazz: ModelConstructor<T>);
    returnConsumedCapacity(level: ReturnConsumedCapacity): R;
}
