import { Action } from '@ngrx/store';
import { IcpParticipant, IcpSession } from '../../icp/icp.interfaces';
export declare const SET_CASE_ID = "[Icp] Set Case Id";
export declare const LOAD_ICP_SESSION = "[Icp] Load Session";
export declare const LOAD_ICP_SESSION_FAIL = "[Icp] Load Session Failure";
export declare const JOIN_ICP_SOCKET_SESSION = "[Icp] Join Socket Session";
export declare const ICP_SOCKET_SESSION_JOINED = "[Icp] Socket Session Joined";
export declare const LEAVE_ICP_SOCKET_SESSION = "[Icp] Leave Socket Session";
export declare const ICP_PRESENTER_UPDATED = "[Icp] Presenter Updated";
export declare const ICP_PARTICIPANT_LIST_UPDATED = "[Icp] Participant List Updated";
export declare class SetCaseId implements Action {
    payload: string;
    readonly type = "[Icp] Set Case Id";
    constructor(payload: string);
}
export declare class LoadIcpSession implements Action {
    payload: {
        caseId: string;
        documentId: string;
    };
    readonly type = "[Icp] Load Session";
    constructor(payload: {
        caseId: string;
        documentId: string;
    });
}
export declare class LoadIcpSessionFailure implements Action {
    payload: Error;
    readonly type = "[Icp] Load Session Failure";
    constructor(payload: Error);
}
export declare class JoinIcpSocketSession implements Action {
    payload: {
        username: string;
        session: IcpSession;
    };
    readonly type = "[Icp] Join Socket Session";
    constructor(payload: {
        username: string;
        session: IcpSession;
    });
}
export declare class IcpSocketSessionJoined implements Action {
    payload: {
        session: IcpSession;
        participantInfo: {
            client: IcpParticipant;
            presenter: IcpParticipant;
        };
    };
    readonly type = "[Icp] Socket Session Joined";
    constructor(payload: {
        session: IcpSession;
        participantInfo: {
            client: IcpParticipant;
            presenter: IcpParticipant;
        };
    });
}
export declare class LeaveIcpSocketSession implements Action {
    readonly type = "[Icp] Leave Socket Session";
    constructor();
}
export declare class IcpPresenterUpdated implements Action {
    payload: IcpParticipant;
    readonly type = "[Icp] Presenter Updated";
    constructor(payload: IcpParticipant);
}
export declare class IcpParticipantListUpdated implements Action {
    payload: any;
    readonly type = "[Icp] Participant List Updated";
    constructor(payload: any);
}
export type IcpActions = SetCaseId | LoadIcpSession | LoadIcpSessionFailure | JoinIcpSocketSession | IcpSocketSessionJoined | LeaveIcpSocketSession | IcpPresenterUpdated | IcpParticipantListUpdated;
//# sourceMappingURL=icp.actions.d.ts.map