import { MapperColumn } from "./mapper-column";
import { ExpressionOrColumn } from "./core/utils";
import { FieldType } from "./core/enums/field-type";
import { PrimaryKeyType } from "./core/enums/primary-key-type";
import { WhereCompiled } from "./crud/where-compiled";
export declare class MapperTable {
    tableName: string;
    columns: MapperColumn[];
    dependencies: MapperTable[];
    queryFilter: WhereCompiled;
    constructor(tableName?: string);
    addColumn(name: string, fieldType: FieldType, primaryKeyType?: PrimaryKeyType, fieldReference?: string, tableReference?: string): void;
    removeColumn(columnName: string): void;
    getColumnNameByField<T, TReturn>(expression: ExpressionOrColumn<TReturn, T>): string;
    getColumnByField<T, TReturn>(expression: ExpressionOrColumn<TReturn, T>): MapperColumn;
    keyColumns(): MapperColumn[];
    private getColumn;
    private findColumn;
    private hasColumn;
    private add;
}
