import { BooleanColumn } from '../database';
import { Artifacts, BaseStep, Parenthesis } from './BaseStep';
import { Condition } from '../models';
import { LogicalOperator } from '../operators';
export declare abstract class ConditionStep extends BaseStep {
    protected readonly conditionName: 'WHERE' | 'HAVING' | 'AND' | 'OR';
    protected readonly whereParts: (LogicalOperator | Condition | Parenthesis | BooleanColumn)[];
    protected constructor(conditionName: 'WHERE' | 'HAVING' | 'AND' | 'OR', prevStep: BaseStep, whereParts: (LogicalOperator | Condition | Parenthesis | BooleanColumn)[]);
    getStepStatement(artifacts?: Artifacts): string;
    getStepArtifacts(): Artifacts;
    private getColumns;
}
