/**
 * @module store-requests
 */
import * as DynamoDB from 'aws-sdk/clients/dynamodb';
import { Logger } from '../../../logger/logger';
import { ModelConstructor } from '../../../model/model-constructor';
import { Omit } from '../../../model/omit.type';
import { DynamoDbWrapper } from '../../dynamo-db-wrapper';
import { WriteRequest } from '../write.request';
import { DeleteResponse } from './delete.response';
declare type DeleteRequestReturnT<T> = Omit<Omit<DeleteRequest<T>, 'exec'>, 'execFullResponse'> & {
    exec(): Promise<T>;
    execFullResponse(): Promise<DeleteResponse<T>>;
};
/**
 * Request class for the DeleteItem operation.
 */
export declare class DeleteRequest<T> extends WriteRequest<T, DynamoDB.DeleteItemInput, DynamoDB.DeleteItemOutput, DeleteRequest<T>> {
    protected readonly logger: Logger;
    constructor(dynamoDBWrapper: DynamoDbWrapper, modelClazz: ModelConstructor<T>, partitionKey: any, sortKey?: any);
    returnValues(returnValues: 'ALL_OLD'): DeleteRequestReturnT<T>;
    returnValues(returnValues: 'NONE'): DeleteRequest<T>;
    protected doRequest(params: DynamoDB.DeleteItemInput): Promise<DynamoDB.DeleteItemOutput>;
}
export {};
