import { AsyncStoreWithClient } from "./AsyncStoreWithClient";
import { Call } from "../models/Call";
export declare enum CallStoreEvent {
    Call = "call",
    ConnectedCalls = "connected_calls"
}
export declare class CallStore extends AsyncStoreWithClient<{}> {
    private static _instance;
    static get instance(): CallStore;
    private constructor();
    protected onAction(): Promise<void>;
    protected onReady(): Promise<any>;
    protected onNotReady(): Promise<any>;
    private _connectedCalls;
    /**
     * The calls to which the user is currently connected.
     */
    get connectedCalls(): Set<Call>;
    private set connectedCalls(value);
    private calls;
    private callListeners;
    private updateRoom;
    /**
     * Gets the call associated with the given room, if any.
     * @param {string} roomId The room's ID.
     * @returns {Call | null} The call.
     */
    getCall(roomId: string): Call | null;
    /**
     * Gets the active call associated with the given room, if any.
     * @param roomId The room's ID.
     * @returns The active call.
     */
    getActiveCall(roomId: string): Call | null;
    private onWidgets;
    private onGroupCall;
    private onRTCSessionStart;
}
