import * as DynamoDB from 'aws-sdk/clients/dynamodb';
import { ModelConstructor } from '../../model';
import { RequestUpdateFunction, UpdateExpressionDefinitionFunction } from '../expression/type';
import { TransactBaseOperation } from './transact-base-operation';
export declare class TransactUpdate<T> extends TransactBaseOperation<T, DynamoDB.Update, TransactUpdate<T>> {
    constructor(modelClazz: ModelConstructor<T>, partitionKey: any, sortKey?: any);
    updateAttribute<K extends keyof T>(attributePath: K): RequestUpdateFunction<TransactUpdate<T>, T, K>;
    operations(...updateDefFns: UpdateExpressionDefinitionFunction[]): TransactUpdate<T>;
    readonly transactItem: {
        Update: {
            Key: DynamoDB.Key;
            UpdateExpression: string;
            TableName: string;
            ConditionExpression?: string | undefined;
            ExpressionAttributeNames?: DynamoDB.ExpressionAttributeNameMap | undefined;
            ExpressionAttributeValues?: DynamoDB.ExpressionAttributeValueMap | undefined;
            ReturnValuesOnConditionCheckFailure?: string | undefined;
        };
    };
}
