import { FieldValidationMetadata } from "../validator/FieldValidationMetadata";
import { ObjectValidationMetadata } from "../validator/ObjectValidationMetadata";
import { AbstractModel } from "./AbstractModel";
export declare class ModelMetadata extends ObjectValidationMetadata {
    modelName?: string;
    tableName?: string;
    needValidate?: boolean;
    constructor();
    getPrimaryKey(): FieldValidationMetadata;
    addField(field: FieldValidationMetadata): void;
    getFieldByLogicName(fieldLogicName: string): FieldValidationMetadata | undefined;
    getFieldByDataName(fieldDataName: string): FieldValidationMetadata | undefined;
    getDefaultLogicValues<T>(): Partial<T>;
    static isNotEmptyMetadata(meta: ModelMetadata): boolean;
    normalizeMetadata(): void;
    assertValid(): void;
    static fromModel(model: {
        new (...args: any[]): AbstractModel;
    }): ModelMetadata;
    static dependencySort(modelMetaData: ModelMetadata[]): ModelMetadata[];
}
//# sourceMappingURL=ModelMetadata.d.ts.map