import TokenBucket from 'tokenbucket';
import { IOClients } from '../../../../clients/IOClients';
import { ClientsConfig, ParamsContext, RecorderState, RouteHandler, ServiceRoute } from '../typings';
export declare const createPrivateHttpRoute: <T extends IOClients, U extends RecorderState, V extends ParamsContext>(clientsConfig: ClientsConfig<T>, serviceHandler: RouteHandler<T, U, V> | RouteHandler<T, U, V>[], serviceRoute: ServiceRoute, routeId: string, globalLimiter: TokenBucket | undefined) => import("koa-compose").ComposedMiddleware<import("../typings").ServiceContext<T, U, V>>;
export declare const createPublicHttpRoute: <T extends IOClients, U extends RecorderState, V extends ParamsContext>(clientsConfig: ClientsConfig<T>, serviceHandler: RouteHandler<T, U, V> | RouteHandler<T, U, V>[], serviceRoute: ServiceRoute, routeId: string, globalLimiter: TokenBucket | undefined) => import("koa-compose").ComposedMiddleware<import("../typings").ServiceContext<T, U, V>>;
