import * as DynamoDB from 'aws-sdk/clients/dynamodb';
import { Observable } from 'rxjs';
import { ModelConstructor } from '../../../model';
import { DynamoRx } from '../../dynamo-rx';
import { WriteRequest } from '../write.request';
export declare class PutRequest<T> extends WriteRequest<T, DynamoDB.PutItemInput, PutRequest<T>> {
    private readonly logger;
    constructor(dynamoRx: DynamoRx, modelClazz: ModelConstructor<T>, item: T);
    /**
     * Adds a condition expression to the request, which makes sure the item will only be saved if the id does not exist
     * @returns {PutRequest<T>}
     */
    ifNotExists(predicate?: boolean): PutRequest<T>;
    execFullResponse(): Observable<DynamoDB.PutItemOutput>;
}
