import { StatementStructures } from 'ts-morph'; import { JoiSchemaBuilder } from './joi-schema-builder'; import { OpenAPIV3 } from './openapi-types'; import { TypeBuilder } from './type-builder'; import MediaTypeObject = OpenAPIV3.MediaTypeObject; import RequestBodyObject = OpenAPIV3.RequestBodyObject; export declare class ControllerBuilder { private document; private typeBuilder; private joiSchemaBuilder; constructor(document: OpenAPIV3.Document, typeBuilder: TypeBuilder, joiSchemaBuilder: JoiSchemaBuilder); createControllers(): StatementStructures[]; private toTypeName; private pathToControllerName; private toPathName; private joinParameters; getRequetsBodyContentSchema(rbo: RequestBodyObject | undefined): MediaTypeObject | null; private createRouteContextType; private createContextTypes; private createHandleMethod; private createHandleMethods; createController(path: string, pathItem: OpenAPIV3.PathItemObject): StatementStructures[]; private writeRoute; private writeValidate; private writeRouter; private availableMethods; }