import { OnDestroy } from '@angular/core';
import { IcpParticipant, IcpState } from './icp.interfaces';
import { Subscription } from 'rxjs';
import { ToolbarEventService } from '../toolbar/toolbar-event.service';
import { ViewerEventService } from '../viewers/viewer-event.service';
import { IcpUpdateService } from './icp-update.service';
import { IcpPresenterService } from './icp-presenter.service';
import { IcpFollowerService } from './icp-follower.service';
import { Store } from '@ngrx/store';
import { IcpEventService } from '../toolbar/icp-event.service';
import * as i0 from "@angular/core";
export declare class IcpService implements OnDestroy {
    private readonly toolbarEvents;
    private readonly viewerEvents;
    private readonly socketService;
    private readonly presenterSubscriptions;
    private readonly followerSubscriptions;
    private store;
    private readonly icpEventService;
    caseId: string;
    client: IcpParticipant;
    presenter: IcpParticipant;
    isPresenter: boolean;
    documentId: string;
    subscription: Subscription;
    sessionSubscription: Subscription;
    constructor(toolbarEvents: ToolbarEventService, viewerEvents: ViewerEventService, socketService: IcpUpdateService, presenterSubscriptions: IcpPresenterService, followerSubscriptions: IcpFollowerService, store: Store<IcpState>, icpEventService: IcpEventService);
    ngOnDestroy(): void;
    launchSession(): void;
    setUpSessionSubscriptions(): void;
    unsubscribeSession(): void;
    leavePresentation(): void;
    stopPresenting(): void;
    becomePresenter(): void;
    clientDisconnected(client: any): void;
    removeParticipant(participantId: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IcpService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<IcpService>;
}
//# sourceMappingURL=icp.service.d.ts.map