import { Config, Tsoa } from '@tsoa/runtime'; import { type ClassDeclaration, type CompilerOptions, type TypeChecker } from 'typescript'; export declare class MetadataGenerator { private readonly compilerOptions?; private readonly ignorePaths?; private readonly rootSecurity; readonly defaultNumberType: NonNullable; readonly controllerNodes: ClassDeclaration[]; readonly typeChecker: TypeChecker; private readonly program; private referenceTypeMap; private modelDefinitionPosMap; private expressionOrigNameMap; constructor(entryFile: string, compilerOptions?: CompilerOptions | undefined, ignorePaths?: string[] | undefined, controllers?: string[], rootSecurity?: Tsoa.Security[], defaultNumberType?: NonNullable, esm?: boolean); Generate(): Tsoa.Metadata; private setProgramToDynamicControllersFiles; private extractNodeFromProgramSourceFiles; private checkForMethodSignatureDuplicates; private checkForPathParamSignatureDuplicates; TypeChecker(): TypeChecker; AddReferenceType(referenceType: Tsoa.ReferenceType): void; GetReferenceType(refName: string): Tsoa.ReferenceType; CheckModelUnicity(refName: string, positions: Array<{ fileName: string; pos: number; }>): void; CheckExpressionUnicity(formattedRefName: string, refName: string): void; private buildControllers; }