import { type Ref } from '#imports'; import type { ClientMessage, ServerMessage } from '#blokkli/agent/shared/types'; export type SocketLifecycleHandlers = { onOpen?: () => void; onClose?: () => void; onError?: (e: Event) => void; onMaxReconnects?: () => void; }; export type SocketProvider = { isConnected: Readonly>; send: (msg: ClientMessage) => void; connect: () => void; disconnect: () => void; setMessageHandler: (handler: (data: ServerMessage) => void) => void; setLifecycleHandlers: (handlers: SocketLifecycleHandlers) => void; }; export default function socketProvider(): SocketProvider;