import { Socket } from "socket.io-client";
import { type Service, ServicesEnum } from "./service";
export type ConnectionDetails = {
    url: string;
    onConnect?: {
        emit: string;
        data: Record<string, unknown>;
    };
    config: Record<string, unknown>;
};
export type EventListenerConfig = {
    url: string;
    events: string[];
};
declare class SocketIOService implements Service {
    private isMounted;
    private store;
    private connections;
    constructor(connections: ConnectionDetails[]);
    private listenDefultEvents;
    mount(): Promise<void>;
    unmount(): Promise<void>;
    getName(): ServicesEnum;
    isActive(): boolean;
    getSocket(url: string): Socket | undefined;
    configureEventsAndListerns(eventListnerConfigs: EventListenerConfig[], cb: (evnet: string, data: any) => void): void;
}
export default SocketIOService;
