import { Request as BaseRequest, WorkerRouter as Router, Callback, CallbackResponse, workerErrorHandler, workerHandler, workerRequestHandler } from './router'; import * as akala from '@akala/core'; import * as express from 'express'; export { Router, Callback, workerHandler as RouterHandler, workerErrorHandler as ErrorHandler, workerRequestHandler as RequestHandler }; import * as jsonrpc from '@akala/json-rpc-ws'; import send from 'send'; export { CallbackResponse }; export declare function createClient(namespace: string): PromiseLike; export declare type MasterRegistration = (from?: string, masterPath?: string, workerPath?: string) => void; export declare type IsModule = (moduleName: string) => boolean; export interface resolve { (param: '$http'): akala.Http; (param: '$request'): Request; (param: '$callback'): Callback; (param: '$router'): Router; (param: '$io'): (namespace: string) => PromiseLike; (param: '$bus'): jsonrpc.ws.Client; (param: '$master'): MasterRegistration; (param: '$isModule'): IsModule; (param: string): any; } export interface WorkerInjector extends akala.Injector { resolve: resolve; } export declare class WorkerInjectorImpl extends akala.Injector { private request; constructor(request: BaseRequest & { body?: any; }); resolve(name: string): T; } export interface Request extends BaseRequest { injector?: WorkerInjector; [key: string]: any; body: any; } export interface SendFileOptions extends send.SendOptions { headers?: { [key: string]: string; }; } export declare function expressWrap(handler: express.Handler): (req: Request, next: akala.NextFunction) => void; export declare function handle(app: Router, root: string): (request: Request, next?: akala.NextFunction) => PromiseLike;