import { type SourceFile } from 'ts-morph'; import { type EntityMetadata, MetadataProvider } from '@mikro-orm/core'; /** Metadata provider that uses ts-morph to infer property types from TypeScript source files or declaration files. */ export declare class TsMorphMetadataProvider extends MetadataProvider { private project; private sources; static useCache(): boolean; useCache(): boolean; loadEntityMetadata(meta: EntityMetadata): void; getExistingSourceFile(path: string, ext?: string, validate?: boolean): SourceFile; protected initProperties(meta: EntityMetadata): void; private extractType; private cleanUpTypeTags; private initPropertyType; private readTypeFromSource; private getSourceFile; private stripRelativePath; private processWrapper; private initProject; private initSourceFiles; saveToCache(meta: EntityMetadata): void; getCacheKey(meta: Pick): string; }