import * as Koa from 'koa';
import { Server } from '../../core';
import { AdapterRoute, HttpApplicationAdapter, ParameterType } from '../http';
export declare class KoaAdapter implements HttpApplicationAdapter {
    app: Koa<Koa.DefaultState, Koa.DefaultContext>;
    type: string;
    private server;
    constructor(app?: Koa<Koa.DefaultState, Koa.DefaultContext>);
    attachServer(server: Server): void;
    close(): void;
    getParam(type: ParameterType, name: string, ctx: Koa.Context): () => any;
    isHeadersSent(response: Koa.Response): boolean;
    listen(): void;
    render(response: Koa.Response, template: string, message: object): Promise<string>;
    reply(response: Koa.Response, message: unknown, statusCode?: number): void;
    routes(routes: AdapterRoute[]): void;
    serveStatic(prefix: string, path: string, options?: unknown): void;
    setHeader(response: Koa.Response, name: string, value: string): void;
    use(...args: any[]): void;
    private getCookies;
}
