import { Extension, ExtensionsManager, ExtensionsMetaPerApp, HttpMethod, PerAppService, Injector, Stage1GroupMetaPerApp, NormalizedGuard } from '@ditsmod/core';
import { XOasObject, XOperationObject, XPathsObject, XResponsesObject, XSecurityRequirementObject } from '@ts-stack/openapi-spec';
import { MetadataPerMod3 } from '@ditsmod/routing';
import { OpenapiLogMediator } from '../services/openapi-log-mediator.js';
export declare class OpenapiCompilerExtension implements Extension<XOasObject | false> {
    private perAppService;
    private injectorPerMod;
    private extensionsManager;
    private log;
    private extensionsMetaPerApp?;
    protected oasObject: XOasObject;
    constructor(perAppService: PerAppService, injectorPerMod: Injector, extensionsManager: ExtensionsManager, log: OpenapiLogMediator, extensionsMetaPerApp?: ExtensionsMetaPerApp | undefined);
    stage1(): Promise<false | XOasObject>;
    protected compileOasObject(groupDataPerApp: Stage1GroupMetaPerApp<MetadataPerMod3>[]): Promise<XOasObject>;
    protected initOasObject(): void;
    protected setSecurityInfo(operationObject: XOperationObject, normalizedGuards: NormalizedGuard[]): void;
    protected mergeOperationObjects(operationObject: XOperationObject, newSecurities: XSecurityRequirementObject[], newTags: string[], responses: XResponsesObject): void;
    protected applyNonOasRoute(path: string, paths: XPathsObject, httpMethod: HttpMethod, normalizedGuards: NormalizedGuard[]): void;
}
//# sourceMappingURL=openapi-compiler.extension.d.ts.map