import { type QvacConfig, type Request, type Response, type RuntimeContext } from "../../schemas/index"; import type RPC from "bare-rpc"; import { type ServerProfiler } from "./profiling/index"; type ReplyHandler = (request: any, ...args: any[]) => Promise | Response; type StreamHandler = (request: any, ...args: any[]) => AsyncGenerator; type ProgressHandler = (request: any, ...args: any[]) => Promise; type DuplexStreamHandler = (request: any, inputStream: any) => AsyncGenerator; export type HandlerEntry = { type: "reply" | "stream" | "duplex"; handler: ReplyHandler | StreamHandler | ProgressHandler | DuplexStreamHandler; delegatedHandler?: ReplyHandler | StreamHandler | ProgressHandler | DuplexStreamHandler; isDelegated?: (request: Request) => boolean; supportsProgress?: boolean | ((request: Request) => boolean); }; export declare function executeDuplexHandler(_req: RPC.IncomingRequest, request: Request, entry: HandlerEntry, inputStream: ReturnType, outputStream: ReturnType, profiler: ServerProfiler): Promise; export declare function executeHandler(req: RPC.IncomingRequest, request: Request, entry: HandlerEntry, profiler: ServerProfiler): Promise; type InitConfigMessage = { type: "__init_config"; config: QvacConfig; runtimeContext?: RuntimeContext; }; export declare function isInitConfigMessage(data: unknown): data is InitConfigMessage; export declare function handleInitConfig(req: RPC.IncomingRequest, data: InitConfigMessage): void; type ShutdownMessage = { type: "__shutdown__"; }; export declare function isShutdownMessage(data: unknown): data is ShutdownMessage; export declare function handleShutdown(req: RPC.IncomingRequest): Promise; export {}; //# sourceMappingURL=handler-utils.d.ts.map