import { Duplex } from "readable-stream"; import { AsyncJRPCMiddleware, ConsoleLike, JRPCMiddleware, JRPCResponse, Json } from "./interfaces"; import SafeEventEmitter from "./safeEventEmitter"; export declare const getRpcPromiseCallback: (resolve: (value?: unknown) => void, reject: (error?: Error) => void, unwrapResult?: boolean) => (error: Error, response: JRPCResponse) => void; export declare function createErrorMiddleware(log: ConsoleLike): JRPCMiddleware; export declare function createStreamMiddleware(): { events: SafeEventEmitter; middleware: JRPCMiddleware; stream: Duplex; }; export type ScaffoldMiddlewareHandler = JRPCMiddleware | Json; export declare function createScaffoldMiddleware(handlers: { [methodName: string]: ScaffoldMiddlewareHandler; }): JRPCMiddleware; export declare function createIdRemapMiddleware(): JRPCMiddleware; export declare function createLoggerMiddleware(logger: ConsoleLike): JRPCMiddleware; export declare function createAsyncMiddleware(asyncMiddleware: AsyncJRPCMiddleware): JRPCMiddleware;