import { MatrixClient } from "matrix-js-sdk/src/matrix";
import LegacyCallHandler from "../LegacyCallHandler";
import { PosthogAnalytics } from "../PosthogAnalytics";
import { SlidingSyncManager } from "../SlidingSyncManager";
import { AccountPasswordStore } from "../stores/AccountPasswordStore";
import { MemberListStore } from "../stores/MemberListStore";
import { RoomNotificationStateStore } from "../stores/notifications/RoomNotificationStateStore";
import RightPanelStore from "../stores/right-panel/RightPanelStore";
import { RoomViewStore } from "../stores/RoomViewStore";
import { SpaceStoreClass } from "../stores/spaces/SpaceStore";
import TypingStore from "../stores/TypingStore";
import { UserProfilesStore } from "../stores/UserProfilesStore";
import { WidgetLayoutStore } from "../stores/widgets/WidgetLayoutStore";
import { WidgetPermissionStore } from "../stores/widgets/WidgetPermissionStore";
import { OidcClientStore } from "../stores/oidc/OidcClientStore";
import WidgetStore from "../stores/WidgetStore";
import { VoiceBroadcastPlaybacksStore, VoiceBroadcastPreRecordingStore, VoiceBroadcastRecordingsStore } from "../voice-broadcast";
export declare const SDKContext: import("react").Context<SdkContextClass>;
/**
 * A class which lazily initialises stores as and when they are requested, ensuring they remain
 * as singletons scoped to this object.
 */
export declare class SdkContextClass {
    /**
     * The global SdkContextClass instance. This is a temporary measure whilst so many stores remain global
     * as well. Over time, these stores should accept a `SdkContextClass` instance in their constructor.
     * When all stores do this, this static variable can be deleted.
     */
    static readonly instance: SdkContextClass;
    client?: MatrixClient;
    protected _WidgetPermissionStore?: WidgetPermissionStore;
    protected _MemberListStore?: MemberListStore;
    protected _RightPanelStore?: RightPanelStore;
    protected _RoomNotificationStateStore?: RoomNotificationStateStore;
    protected _RoomViewStore?: RoomViewStore;
    protected _WidgetLayoutStore?: WidgetLayoutStore;
    protected _WidgetStore?: WidgetStore;
    protected _PosthogAnalytics?: PosthogAnalytics;
    protected _SlidingSyncManager?: SlidingSyncManager;
    protected _SpaceStore?: SpaceStoreClass;
    protected _LegacyCallHandler?: LegacyCallHandler;
    protected _TypingStore?: TypingStore;
    protected _VoiceBroadcastRecordingsStore?: VoiceBroadcastRecordingsStore;
    protected _VoiceBroadcastPreRecordingStore?: VoiceBroadcastPreRecordingStore;
    protected _VoiceBroadcastPlaybacksStore?: VoiceBroadcastPlaybacksStore;
    protected _AccountPasswordStore?: AccountPasswordStore;
    protected _UserProfilesStore?: UserProfilesStore;
    protected _OidcClientStore?: OidcClientStore;
    /**
     * Automatically construct stores which need to be created eagerly so they can register with
     * the dispatcher.
     */
    constructEagerStores(): void;
    get legacyCallHandler(): LegacyCallHandler;
    get rightPanelStore(): RightPanelStore;
    get roomNotificationStateStore(): RoomNotificationStateStore;
    get roomViewStore(): RoomViewStore;
    get widgetLayoutStore(): WidgetLayoutStore;
    get widgetPermissionStore(): WidgetPermissionStore;
    get widgetStore(): WidgetStore;
    get posthogAnalytics(): PosthogAnalytics;
    get memberListStore(): MemberListStore;
    get slidingSyncManager(): SlidingSyncManager;
    get spaceStore(): SpaceStoreClass;
    get typingStore(): TypingStore;
    get voiceBroadcastRecordingsStore(): VoiceBroadcastRecordingsStore;
    get voiceBroadcastPreRecordingStore(): VoiceBroadcastPreRecordingStore;
    get voiceBroadcastPlaybacksStore(): VoiceBroadcastPlaybacksStore;
    get accountPasswordStore(): AccountPasswordStore;
    get userProfilesStore(): UserProfilesStore;
    get oidcClientStore(): OidcClientStore;
    onLoggedOut(): void;
}
