import * as ts from 'typescript'; import { NodeDecoratorProcessor } from './types/nodeDecoratorProcessor'; import { Tsoa } from '@namecheap/tsoa-runtime'; import { SecurityGenerator } from './securityGenerator'; export interface MetadataGeneratorOptions { securityGenerator?: SecurityGenerator; customDecoratorProcessors?: Record; } export declare class MetadataGenerator { private readonly compilerOptions?; private readonly ignorePaths?; readonly controllerNodes: ts.ClassDeclaration[]; readonly typeChecker: ts.TypeChecker; readonly securityGenerator: SecurityGenerator | undefined; readonly customDecoratorProcessors: Record | undefined; private readonly program; private referenceTypeMap; private circularDependencyResolvers; constructor(entryFile: string, compilerOptions?: ts.CompilerOptions | undefined, ignorePaths?: string[] | undefined, controllers?: string[], generatorOptions?: MetadataGeneratorOptions); Generate(): Tsoa.Metadata; private setProgramToDynamicControllersFiles; private extractNodeFromProgramSourceFiles; private checkForMethodSignatureDuplicates; private checkForPathParamSignatureDuplicates; TypeChecker(): ts.TypeChecker; AddReferenceType(referenceType: Tsoa.ReferenceType): void; GetReferenceType(refName: string): Tsoa.ReferenceType; OnFinish(callback: (referenceTypes: Tsoa.ReferenceTypeMap) => void): void; private buildControllers; }