export declare enum ReadyState {
    Connecting = 0,
    Open = 1,
    Closing = 2,
    Closed = 3
}
export interface Options {
    reconnectLimit?: number;
    reconnectInterval?: number;
    manual?: boolean;
    onOpen?: (event: WebSocketEventMap['open']) => void;
    onClose?: (event: WebSocketEventMap['close']) => void;
    onMessage?: (message: WebSocketEventMap['message']) => void;
    onError?: (event: WebSocketEventMap['error']) => void;
}
export interface Result {
    latestMessage?: WebSocketEventMap['message'];
    sendMessage?: WebSocket['send'];
    disconnect?: () => void;
    connect?: () => void;
    readyState: ReadyState;
    webSocketIns?: WebSocket;
}
export default function useWebSocket(socketUrl: string, options?: Options): Result;
