import { PutItemOutput } 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<PutRequest<T>, T, any> {
    private readonly logger;
    constructor(dynamoRx: DynamoRx, modelClazz: ModelConstructor<T>, tableName: string, 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<PutItemOutput>;
    exec(): Observable<void>;
}
