import { UpdateItemOutput } from 'aws-sdk/clients/dynamodb';
import { Observable } from 'rxjs';
import { ModelConstructor } from '../../../model';
import { DynamoRx } from '../../dynamo-rx';
import { UpdateExpression, UpdateExpressionDefinitionFunction } from '../../expression/type';
import { UpdateActionKeyword } from '../../expression/type/update-action-keyword.type';
import { WriteRequest } from '../write.request';
export declare type SortedUpdateExpressions = {
    [key in UpdateActionKeyword]: UpdateExpression[];
};
export declare class UpdateRequest<T> extends WriteRequest<UpdateRequest<T>, T, any> {
    private readonly logger;
    constructor(dynamoRx: DynamoRx, modelClazz: ModelConstructor<T>, tableName: string, partitionKey: any, sortKey?: any);
    operations(...updateDefFns: UpdateExpressionDefinitionFunction[]): UpdateRequest<T>;
    execFullResponse(): Observable<UpdateItemOutput>;
    exec(): Observable<void>;
}
