import { Router } from '../../router/Router'; import { EndpointData, ExposedModelData } from '../types'; type UrlType = `${'http' | 'https'}://${string}.${string}`; export type ApiDocsHeader = { title: string; version: string; description?: string; termsOfService?: UrlType; contact?: { name?: string; url?: UrlType; email?: string; }; license?: { name?: string; url?: UrlType; }; }; export type ApiDocsPreferences = { allowOptionalPathParams: boolean; }; export type ApiAnalysisStats = { explicitRouterFiles: { path: string; routers: { name: string; endpoints: string[]; }[]; }[]; discoveredRouterFiles: { path: string; routers: { name: string; endpoints: string[]; }[]; }[]; }; export declare class OpenApiManager { private apiDocsHeader; private exposedModels; private endpoints; private preferences; private stats; private static instance; private isInitialized; private registeredRouters; constructor(apiDocsHeader: ApiDocsHeader, exposedModels: ExposedModelData[], endpoints: EndpointData[], preferences: ApiDocsPreferences, stats: ApiAnalysisStats); isReady(): boolean; hasExposedModel(name: string): boolean; getExposedModels(): ExposedModelData[]; setExposedModels(models: ExposedModelData[]): this; setEndpoints(endpoints: EndpointData[]): this; markAsReady(): this; getHeader(): ApiDocsHeader; setHeader(docs: ApiDocsHeader): this; getEndpoints(): EndpointData[]; getPreferences(): ApiDocsPreferences; setPreferences(preferences: ApiDocsPreferences): this; getStats(): ApiAnalysisStats; setStats(stats: ApiAnalysisStats): this; getRouters(): readonly Router[]; registerRouters(routers: Router[]): this; reset(): void; static getInstance(): OpenApiManager; } export {}; //# sourceMappingURL=OpenApiManager.d.ts.map