import { AnyRouter } from '@trpc/server';
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPResponse } from '@trpc/server/adapters/node-http';
import { Middleware } from 'koa';
declare module 'koa' {
    interface Request {
        body?: any;
    }
}
declare module 'http' {
    interface IncomingMessage {
        body?: any;
    }
}
export type CreateTrpcKoaContextOptions = NodeHTTPCreateContextFnOptions<NodeHTTPRequest, NodeHTTPResponse>;
export type AdditionalMiddlewareOpts = {
    prefix?: `/${string}`;
};
export type CreateKoaMiddlewareOptions<TRouter extends AnyRouter> = NodeHTTPHandlerOptions<TRouter, NodeHTTPRequest, NodeHTTPResponse> & AdditionalMiddlewareOpts;
export declare const createKoaMiddleware: <TRouter extends AnyRouter>(opts: CreateKoaMiddlewareOptions<TRouter>) => Middleware;
