import type { ServerWebSocket } from 'bun'; import type { EcopagesSocket, EcopagesWebSocketHandler } from '../../types/public-types.js'; export type BunUserWebSocketData = { kind: string; params: Record; search: Record; upgradeUrl?: string; context?: unknown; [key: string]: unknown; }; export type BunUserWebSocketLifecycleDeps = { runtimeOrigin: string; userHandlers: Map>; resolveContext: >(request: Request, handler: EcopagesWebSocketHandler, kind: string, params: TParams, search: Record) => Promise; adaptSocket: >(ws: ServerWebSocket, kind: string, params: TParams, search: Record, context: TContext) => EcopagesSocket; }; export declare function createBunUserWebSocketLifecycle(deps: BunUserWebSocketLifecycleDeps): { open(ws: ServerWebSocket): void; message(ws: ServerWebSocket, msg: string | Buffer): void; close(ws: ServerWebSocket, code: number, reason: string): void; error(ws: ServerWebSocket, error: Error): void; };