import { SelectItem, SelectStep } from './select-path/SelectStep';
import { FromItem, FromItems, SelectFromStep } from './select-path/SelectFromStep';
import { DeleteStep } from './delete-path/DeleteStep';
import { DeleteFromStep } from './delete-path/DeleteFromStep';
import { InsertStep } from './insert-path/InsertStep';
import { IntoColumnsStep, IntoTableStep } from './insert-path/IntoStep';
import { ItemInfo } from '../ItemInfo';
import { All, Distinct } from '../singletoneConstants';
import { BuilderData } from '../builder';
import { Column, Table } from '../database';
import { PrimitiveType } from '../models';
import { Artifacts, BaseStep } from './BaseStep';
import { UpdateStep } from './update-path/UpdateStep';
export declare class RootStep extends BaseStep {
    protected readonly data: BuilderData;
    constructor(data: BuilderData);
    getStepStatement(): string;
    getStepArtifacts(): Artifacts;
    select(distinct: Distinct | All, ...items: (ItemInfo | SelectItem | PrimitiveType)[]): SelectStep;
    select(...items: (ItemInfo | SelectItem | PrimitiveType)[]): SelectStep;
    selectDistinct(...items: (ItemInfo | SelectItem | PrimitiveType)[]): SelectStep;
    selectAll(...items: (ItemInfo | SelectItem | PrimitiveType)[]): SelectStep;
    selectAsteriskFrom(...tables: FromItems): SelectFromStep;
    delete(): DeleteStep;
    deleteFrom(fromItem: FromItem): DeleteFromStep;
    insert(): InsertStep;
    insertInto(table: Table): IntoTableStep;
    insertInto(table: Table, ...columns: Column[]): IntoColumnsStep;
    update(table: Table): UpdateStep;
}
