import { ColumnMetadata, ColumnOptions, RelationMetadata, RelationOptions, TableMetadata, TableOptions } from '../types'; export declare class Model { private static tableMetadata?; private static columnOption; private static relationOption; static getModelName(): string; static setTableMetadata(metadata: TableOptions): void; static addColumnMetadata(propertyKey: string, metadata: ColumnOptions): void; static addRelationMetadata(propertyKey: string, type: 'hasMany' | 'hasOne' | 'belongsTo', target: () => typeof Model, metadata: RelationOptions): void; static getMetadata(): { tableMetadata: TableMetadata; columnMetadata: ColumnMetadata[]; relationMetadata: RelationMetadata[]; }; static getColumnByName(columnName: string): ColumnMetadata; private static getColumnMetaData; private static getRelationMetaData; private static generateRelationMapping; private static getIdentifier; }