import type { Condition } from '../../../entity/actions/parseCondition/index.js';
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 { $condition, $key, $options } from './constants.js';
import type { ConditionCheckOptions } from './options.js';
export declare class ConditionCheck<ENTITY extends Entity = Entity> extends WriteTransaction<ENTITY> implements WriteTransactionImplementation<ENTITY> {
    static actionName: "conditionCheck";
    private [$key]?;
    private [$condition]?;
    private [$options];
    constructor(entity: ENTITY, key?: KeyInputItem<ENTITY>, condition?: Condition<ENTITY>, options?: ConditionCheckOptions);
    key(nextKey: KeyInputItem<ENTITY>): ConditionCheck<ENTITY>;
    condition(nextCondition: Condition<ENTITY>): ConditionCheck<ENTITY>;
    options(nextOptions: ConditionCheckOptions | ((prevOptions: ConditionCheckOptions) => ConditionCheckOptions)): ConditionCheck<ENTITY>;
    params(): Require<TransactWriteItem, 'ConditionCheck'>;
}
