import { OpenAPIObject, ReferenceObject, SchemaObject } from 'openapi3-ts'; import { Globals } from './globals.js'; import { HbProvider } from './hb-provider.js'; import { OaImport } from './oa-import.js'; import { OaModel } from './oa-model.js'; import { OaOperation } from './oa-operation.js'; import { OaService } from './oa-service.js'; import { Options } from './options.js'; import { Templates } from './templates.js'; export declare class Generator { openApi: OpenAPIObject; options: Options; protected globals: Globals; protected hbProvider: HbProvider; protected templates: Templates; protected imports: Map; protected models: Map; protected services: Map; protected operationsByTag: Map; protected operations: Map; protected outDir: string; protected tempDir: string; constructor(openApi: OpenAPIObject, options: Options); generate(): Promise; protected write(template: string, model: object | null | undefined, baseName: string, subDir?: string): void; protected collectTemplates(): Promise; protected collectModels(): void; protected collectOperations(): void; protected collectServices(): void; protected ignoreUnusedModels(): void; protected collectDependencies(name: string, usedNames: Set): void; protected allReferencedNames(schema: SchemaObject | ReferenceObject | undefined): string[]; protected shortenModels(): void; protected setEndOfLine(text: string): string; }