import { type Ref } from 'vue'; import type { TabRole, SocketLifecycleHandlers } from '../../types'; /** * Reactive connection status. * * @example * const { connected, tabRole } = useSocketStatus(); */ export declare function useSocketStatus(): { connected: Ref; tabRole: Ref; isAuthenticated: Ref; }; /** * Lifecycle hooks — react to connection state changes. * * @example * useSocketLifecycle({ * onConnect: () => console.log('Connected!'), * onDisconnect: () => showOfflineBanner(), * onReconnecting: () => showSpinner(), * onLeaderChange: (isLeader) => console.log('Leader:', isLeader), * onError: (err) => reportError(err), * }); */ export declare function useSocketLifecycle(handlers: SocketLifecycleHandlers): void; /** * Reactive reconnect state with a manual `reconnect` action. Use this to * power a "Reconnect" snackbar/banner after auto-reconnect gives up. * * `hasFailed` flips to `true` once `reconnectMaxRetries` are exhausted, and * back to `false` once the connection succeeds or the user calls `reconnect()`. * * @example * * * */ export declare function useSocketReconnect(): { hasFailed: Ref; reconnect: () => void; };