import type { UpgradeWebSocket, WSEvents } from '../../helper/websocket'; import { WSContext } from '../../helper/websocket'; /** * @internal */ export interface BunServerWebSocket { send(data: string | ArrayBuffer | Uint8Array, compress?: boolean): void; close(code?: number, reason?: string): void; data: T; readyState: 0 | 1 | 2 | 3; } export interface BunWebSocketHandler { open(ws: BunServerWebSocket): void; close(ws: BunServerWebSocket, code?: number, reason?: string): void; message(ws: BunServerWebSocket, message: string | { buffer: ArrayBufferLike; }): void; } interface CreateWebSocket { upgradeWebSocket: UpgradeWebSocket; websocket: BunWebSocketHandler; } export interface BunWebSocketData { events: WSEvents; url: URL; protocol: string; } /** * @internal */ export declare const createWSContext: (ws: BunServerWebSocket) => WSContext; export declare const upgradeWebSocket: UpgradeWebSocket; export declare const websocket: BunWebSocketHandler; /** * @deprecated Import `upgradeWebSocket` and `websocket` directly from `hono/bun` instead. * @returns A function to create a Bun WebSocket handler. */ export declare const createBunWebSocket: () => CreateWebSocket; export {};