import type { PutItemInput } from '../../../entity/actions/put/index.js';
import type { Entity, ValidItem } from '../../../entity/index.js';
import type { Require } from '../../../types/require.js';
import { WriteTransaction } from '../transactWrite/transaction.js';
import type { TransactWriteItem, WriteTransactionImplementation } from '../transactWrite/transaction.js';
import { $item, $options } from './constants.js';
import type { PutTransactionOptions } from './options.js';
export declare class PutTransaction<ENTITY extends Entity = Entity, OPTIONS extends PutTransactionOptions<ENTITY> = PutTransactionOptions<ENTITY>> extends WriteTransaction<ENTITY> implements WriteTransactionImplementation<ENTITY> {
    static actionName: "transactPut";
    [$item]?: PutItemInput<ENTITY>;
    [$options]: OPTIONS;
    constructor(entity: ENTITY, item?: PutItemInput<ENTITY>, options?: OPTIONS);
    item(nextItem: PutItemInput<ENTITY>): PutTransaction<ENTITY>;
    options<NEXT_OPTIONS extends PutTransactionOptions<ENTITY>>(nextOptions: NEXT_OPTIONS | ((prevOptions: OPTIONS) => NEXT_OPTIONS)): PutTransaction<ENTITY, NEXT_OPTIONS>;
    params(): Require<TransactWriteItem, 'Put'> & {
        ToolboxItem: ValidItem<ENTITY>;
    };
}
