import { type DynamicModule, type MiddlewareConsumer, type NestModule, type OnModuleDestroy } from '@nestjs/common';
import type { OpraHttpModule } from './opra-http.module.js';
import { OpraHttpNestjsAdapter } from './opra-http-nestjs-adapter.js';
export declare class OpraHttpCoreModule implements OnModuleDestroy, NestModule {
    protected opraAdapter: OpraHttpNestjsAdapter;
    constructor(opraAdapter: OpraHttpNestjsAdapter);
    configure(consumer: MiddlewareConsumer): void;
    static forRoot(moduleOptions: OpraHttpModule.ModuleOptions): DynamicModule;
    static forRootAsync(moduleOptions: OpraHttpModule.AsyncModuleOptions): DynamicModule;
    protected static _getDynamicModule(moduleOptions: OpraHttpModule.ModuleOptions | OpraHttpModule.AsyncModuleOptions): DynamicModule;
    onModuleDestroy(): Promise<void>;
}
