import { type Dictionary, type EmbeddableOptions, type EntityMetadata, type EntityOptions, type EntityProperty, type GenerateOptions, type IndexOptions, type NamingStrategy, type OneToOneOptions, type Platform, type UniqueOptions, } from '@mikro-orm/core'; /** * @see https://github.com/tc39/proposal-regexp-unicode-property-escapes#other-examples */ export declare const identifierRegex: RegExp; export declare class SourceFile { #private; protected readonly meta: EntityMetadata; protected readonly namingStrategy: NamingStrategy; protected readonly platform: Platform; protected readonly options: GenerateOptions; protected readonly coreImports: Set; protected readonly decoratorImports: Set; protected readonly entityImports: Set; protected readonly enumImports: Map; constructor(meta: EntityMetadata, namingStrategy: NamingStrategy, platform: Platform, options: GenerateOptions); generate(): string; /** * Convert index column options to quoted output format. */ private getColumnOptions; protected getIndexOptions( index: EntityMetadata['indexes'][number], isAtEntityLevel?: boolean, ): IndexOptions; protected getUniqueOptions( index: EntityMetadata['uniques'][number], isAtEntityLevel?: boolean, ): UniqueOptions; protected generateImports(): string; protected getEntityClass(classBody: string): string; getBaseName(extension?: string): string; protected quote(val: string): string; protected getPropertyDefinition(prop: EntityProperty, padLeft: number): string; protected getEnumClassDefinition(prop: EntityProperty, padLeft: number): string; protected serializeObject(options: {}, wordwrap?: number, spaces?: number, level?: number): string; protected serializeValue(val: unknown, wordwrap?: number, spaces?: number, level?: number): unknown; protected getEntityDeclOptions(): EntityOptions; protected getEmbeddableDeclOptions(): EmbeddableOptions; private getCollectionDecl; private getPropertyDecorator; protected getPropertyIndexes(prop: EntityProperty, options: Dictionary): string[]; protected getCommonDecoratorOptions(options: Dictionary, prop: EntityProperty): void; private breakdownOfIType; protected getScalarPropertyDecoratorOptions(options: Dictionary, prop: EntityProperty, quote?: boolean): void; protected getManyToManyDecoratorOptions(options: Dictionary, prop: EntityProperty): void; protected getOneToManyDecoratorOptions(options: Dictionary, prop: EntityProperty): void; protected getEmbeddedPropertyDeclarationOptions(options: Dictionary, prop: EntityProperty): void; protected getForeignKeyDecoratorOptions(options: OneToOneOptions, prop: EntityProperty): void; protected getDecoratorType(prop: EntityProperty): string; protected referenceCoreImport(identifier: string): string; protected referenceDecoratorImport(identifier: string): string; }