import type { Channel } from '../../types'; /** * Subscribe to a private channel. Joins once the socket is ready, leaves on * unmount. Returns `null` until the channel is joined. * * @example * const chat = useChannel('chat:room_123'); * const message = useSocketEvent('chat:room_123:message'); * chat?.send('message', { text: 'Hello' }); */ export declare function useChannel(name: string, options?: { auth?: boolean; }): Channel | null; /** * Subscribe to server-side topics. Subscribes once the socket is ready, * unsubscribes on unmount. * * @example * useTopics(['notifications:orders', 'notifications:payments']); */ export declare function useTopics(topics: string[], options?: { auth?: boolean; }): void; /** * Enable browser push notifications for an event. Activates once the socket is * ready, cleans up on unmount. * * @example * usePush('order.created', { * title: (order) => `New Order #${order.id}`, * body: (order) => `$${order.total}`, * }); */ export declare function usePush(event: string, config: { title: string | ((data: T) => string); body?: string | ((data: T) => string); icon?: string; tag?: string | ((data: T) => string); leaderOnly?: boolean; onlyWhenHidden?: boolean; onClick?: (data: T) => void; }): void;