import { N as NotificationInterface } from './notification.interface-CmKmObIU.js';

interface UseSocketOptions {
    token: string;
}
interface SocketLike {
    emit: (event: string, ...args: any[]) => void;
    on: (event: string, callback: (...args: any[]) => void) => void;
    off: (event: string, callback?: (...args: any[]) => void) => void;
    connected: boolean;
}
interface UseSocketReturn {
    socket: SocketLike | null;
    isConnected: boolean;
    messages: any[];
    socketNotifications: NotificationInterface[];
    sendMessage: (event: string, data: any) => void;
    removeMessage: (index: number) => void;
    removeSocketNotification: (index: number) => void;
    clearMessages: () => void;
    clearSocketNotifications: () => void;
}
declare function useSocket({ token }: UseSocketOptions): UseSocketReturn;

export { useSocket as u };
