import type { Entity, KeyInputItem } 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 { $key, $options } from './constants.js';
import type { DeleteTransactionOptions } from './options.js';
export declare class DeleteTransaction<ENTITY extends Entity = Entity, OPTIONS extends DeleteTransactionOptions<ENTITY> = DeleteTransactionOptions<ENTITY>> extends WriteTransaction<ENTITY> implements WriteTransactionImplementation<ENTITY> {
    static actionName: "transactDelete";
    [$key]?: KeyInputItem<ENTITY>;
    [$options]: OPTIONS;
    constructor(entity: ENTITY, key?: KeyInputItem<ENTITY>, options?: OPTIONS);
    key(nextKey: KeyInputItem<ENTITY>): DeleteTransaction<ENTITY>;
    options<NEXT_OPTIONS extends DeleteTransactionOptions<ENTITY>>(nextOptions: NEXT_OPTIONS | ((prevOptions: OPTIONS) => NEXT_OPTIONS)): DeleteTransaction<ENTITY, NEXT_OPTIONS>;
    params(): Require<TransactWriteItem, 'Delete'>;
}
