import { UpgradeWebSocketOptions } from "./lib/upgrade-websocket.js";
import { upgradeWebSocket } from "./lib/hono-websocket.js";
import { ScheduleTriggerInvocation, StorageObjectCreatedTriggerInvocation, TriggerDelivery, TriggerInvocation, isScheduleTriggerInvocation, isStorageObjectCreatedTriggerInvocation, parseTriggerDelivery } from "./lib/parse-trigger-invocation.js";
import { parseTrigger } from "./lib/parse-trigger.js";
import { SendOptions, WSContext, WSEvents, WSMessageReceive, WSReadyState } from "hono/ws";

//#region src/hono.d.ts

/**
 * The event handlers a route hands to `upgradeWebSocket`, with `ws.raw` already
 * bound to the platform `WebSocket`.
 *
 * Naming `WSEvents` yourself without its type argument silently degrades
 * `ws.raw` to `unknown`, so this is re-exported already applied.
 */
type NeonWSEvents = WSEvents<WebSocket>;
/** The socket handle passed to every event handler. */
type NeonWSContext = WSContext<WebSocket>;
//#endregion
export { NeonWSContext, NeonWSEvents, type ScheduleTriggerInvocation, type SendOptions, type StorageObjectCreatedTriggerInvocation, type TriggerDelivery, type TriggerInvocation, type UpgradeWebSocketOptions, type WSMessageReceive, type WSReadyState, isScheduleTriggerInvocation, isStorageObjectCreatedTriggerInvocation, parseTrigger, parseTriggerDelivery, upgradeWebSocket };
//# sourceMappingURL=hono.d.ts.map