import { ModelClass } from '../modelShared/BaseModelShared'; import { AnyType } from '../types/schemas'; import { AnyModel } from './BaseModel'; /** * Associated model metadata. */ export interface ModelMetadata { /** * Associated data type for runtime checking (if any). */ dataType?: AnyType; /** * Property used as model id. */ modelIdProperty: string | undefined; /** * A value type will be cloned automatically when being attached to a new tree. */ valueType: boolean; } /** * Returns the associated metadata for a model instance or class. * * @param modelClassOrInstance Model class or instance. * @returns The associated metadata. */ export declare function getModelMetadata(modelClassOrInstance: AnyModel | ModelClass): ModelMetadata; /** * Returns the ID property name for a model class, or `undefined` if the model has no ID property. * * @param modelClass The model class. * @returns The ID property name or `undefined`. */ export declare function getModelIdPropertyName(modelClass: ModelClass): string | undefined;