import { BaseFramework, CommonFilterUnion, CommonMiddlewareUnion, IMidwayBootstrapOptions, RouterInfo } from '@midwayjs/core';
import { IMidwayKoaApplication, IMidwayKoaConfigurationOptions, IMidwayKoaContext } from './interface';
import type { DefaultState, Middleware, Next } from 'koa';
import { Server } from 'http';
export declare class MidwayKoaFramework extends BaseFramework<IMidwayKoaApplication, IMidwayKoaContext, IMidwayKoaConfigurationOptions, Next> {
    private server;
    private generator;
    private webRouterService;
    configure(): IMidwayKoaConfigurationOptions;
    applicationInitialize(options: Partial<IMidwayBootstrapOptions>): Promise<void>;
    loadMidwayController(): Promise<void>;
    /**
     * wrap controller string to middleware function
     */
    generateController(routeInfo: RouterInfo): Middleware<DefaultState, IMidwayKoaContext>;
    run(): Promise<void>;
    beforeStop(): Promise<void>;
    getFrameworkName(): string;
    getServer(): Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
    getPort(): string;
    useMiddleware(Middleware: CommonMiddlewareUnion<IMidwayKoaContext, Next, unknown>): void;
    useFilter(Filter: CommonFilterUnion<IMidwayKoaContext, Next, unknown>): void;
    private createVersioningMiddleware;
    private extractVersion;
}
//# sourceMappingURL=framework.d.ts.map