import { DdlBaseBuilder } from "../ddl-base-builder";
import { MapperTable } from "../../mapper-table";
import { DdlCompiled } from "../../core/ddl-compided";
import { ExpressionOrColumn, ValueTypeToParse } from "../../core/utils";
export declare class AlterBuilder<T> extends DdlBaseBuilder<T> {
    private readonly _mapperTable;
    private _patternOperation;
    constructor(typeT: new () => T, _mapperTable: MapperTable);
    addColumn<TReturn extends ValueTypeToParse>(columnExpression: ExpressionOrColumn<TReturn, T>, type?: new () => TReturn): AlterBuilder<T>;
    renameColumn<TReturn extends ValueTypeToParse>(columnExpression: ExpressionOrColumn<TReturn, T>, newColumnNameExpression: ExpressionOrColumn<TReturn, T>): AlterBuilder<T>;
    renameTable<TNewTable>(newTableName: string | (new () => TNewTable)): AlterBuilder<T>;
    protected resolveDependency(dependency: MapperTable): DdlCompiled;
    protected dependencies(): MapperTable[];
    protected buildBase(): string;
    protected setDefaultColumns(): void;
}
