import { DatabaseBase } from "../../definitions/database-definition";
import { DdlBase } from "../ddl-base";
import { AlterBuilder } from "./alter-builder";
import { ExpressionOrColumn, ValueTypeToParse } from "../../core/utils";
import { MapperTable } from "../../mapper-table";
export declare class Alter<T> extends DdlBase<T, AlterBuilder<T>> {
    constructor(typeT: new () => T, mapperTable: MapperTable, database?: DatabaseBase, enableLog?: boolean);
    addColumn<TReturn extends ValueTypeToParse>(columnExpression: ExpressionOrColumn<TReturn, T>, type?: new () => TReturn): Alter<T>;
    renameColumn<TReturn extends ValueTypeToParse>(columnExpression: ExpressionOrColumn<TReturn, T>, newColumnNameExpression: ExpressionOrColumn<TReturn, T>): Alter<T>;
    renameTable<TNewTable>(newTableName: string | (new () => TNewTable)): Alter<T>;
}
