/**
 * @module store-requests
 */
import * as DynamoDB from 'aws-sdk/clients/dynamodb';
import { ModelConstructor } from '../../../model/model-constructor';
import { DynamoDbWrapper } from '../../dynamo-db-wrapper';
import { StandardRequest } from '../standard.request';
import { GetResponse } from './get.response';
/**
 * Request class for the GetItem operation.
 */
export declare class GetRequest<T> extends StandardRequest<T, DynamoDB.GetItemInput, GetRequest<T>> {
    private readonly logger;
    constructor(dynamoDBWrapper: DynamoDbWrapper, modelClazz: ModelConstructor<T>, partitionKey: any, sortKey?: any);
    /**
     * Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.
     */
    consistentRead(consistentRead?: boolean): GetRequest<T>;
    projectionExpression(...attributesToGet: string[]): GetRequest<T>;
    execFullResponse(): Promise<GetResponse<T>>;
    /**
     * execute request and return the parsed item
     */
    exec(): Promise<T | null>;
}
