import { OnDestroy } from '@angular/core';
import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';
import { IcpEvents } from './icp.events';
import { IcpSession } from './icp.interfaces';
import * as i0 from "@angular/core";
export declare class SocketService implements OnDestroy {
    private socket;
    subscription: Subscription;
    connected$: BehaviorSubject<boolean>;
    sessionJoined$: Subject<void>;
    presenterUpdated$: Subject<void>;
    clientDisconnected$: Subject<void>;
    participantUpdated$: Subject<void>;
    newParticipantJoined$: Subject<void>;
    screenUpdated$: Subject<void>;
    constructor();
    ngOnDestroy(): void;
    connect(url: string, session: IcpSession): void;
    connected(): Observable<boolean>;
    join(session: any): void;
    leave(session: any): void;
    emit(event: string, data: any): void;
    listen(event: IcpEvents): Observable<any>;
    messageEventHandller(eventName: string, data: any): void;
    getSocketClient(url: string): Observable<WebSocket>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SocketService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SocketService>;
}
//# sourceMappingURL=socket.service.d.ts.map