import { ConditionStep } from '../ConditionStep';
import { BooleanColumn } from '../../database';
import { BaseStep, Parenthesis } from '../BaseStep';
import { Condition, PrimitiveType } from '../../models';
import { LogicalOperator } from '../../operators';
import { ReturningStep } from '../ReturningStep';
import { ReturningItem } from '../../ReturningItemInfo';
import { ItemInfo } from '../../ItemInfo';
declare abstract class DeleteConditionStep extends ConditionStep {
    and(condition: Condition): DeleteWhereStep;
    and(left: Condition, operator: LogicalOperator, right: Condition): DeleteWhereAndStep;
    and(left: Condition, operator1: LogicalOperator, middle: Condition, operator2: LogicalOperator, right: Condition): DeleteWhereAndStep;
    or(condition: Condition): DeleteWhereOrStep;
    or(left: Condition, operator: LogicalOperator, right: Condition): DeleteWhereOrStep;
    or(left: Condition, operator1: LogicalOperator, middle: Condition, operator2: LogicalOperator, right: Condition): DeleteWhereOrStep;
    returning(...items: (ItemInfo | ReturningItem | PrimitiveType)[]): ReturningStep;
}
export declare class DeleteWhereStep extends DeleteConditionStep {
    constructor(prevStep: BaseStep, whereParts: (LogicalOperator | Condition | Parenthesis | BooleanColumn)[]);
}
export declare class DeleteWhereOrStep extends DeleteConditionStep {
    constructor(prevStep: BaseStep, whereParts: (LogicalOperator | Condition | Parenthesis | BooleanColumn)[]);
}
export declare class DeleteWhereAndStep extends DeleteConditionStep {
    constructor(prevStep: BaseStep, whereParts: (LogicalOperator | Condition | Parenthesis | BooleanColumn)[]);
}
export {};
