export type WSMessage = {
    type: string;
    data: unknown;
};
export type WebSocketParams = {
    url: string;
    onOpen: (ev: Event, ws: WebSocket) => void;
    onMessage: (message: MessageEvent, ws: WebSocket) => void;
    onError: (error: Event, ws: WebSocket) => void;
    onClose: (ev: CloseEvent, ws: WebSocket) => void;
};
type SocketContext = {
    socketRef: {
        current: WebSocket | undefined;
    };
    initializeSocket: (params: WebSocketParams) => void;
    socketState: {
        current: WebSocket['readyState'];
    };
    closeSocket: () => void;
};
export declare function getSocketContext(): SocketContext;
export declare function setSocketContext(context: SocketContext): void;
export {};
