import { TypedEventEmitter } from "matrix-js-sdk/src/matrix";
export declare enum ThemeWatcherEvents {
    ThemeChange = "theme_change"
}
type EventHandlerMap = {
    [ThemeWatcherEvents.ThemeChange]: (theme: string) => void;
};
export default class ThemeWatcher extends TypedEventEmitter<ThemeWatcherEvents, EventHandlerMap> {
    private themeWatchRef;
    private systemThemeWatchRef;
    private dispatcherRef;
    private preferDark;
    private preferLight;
    private preferHighContrast;
    private currentTheme;
    constructor();
    start(): void;
    stop(): void;
    private onChange;
    private onAction;
    recheck(forceTheme?: string): void;
    getEffectiveTheme(): string;
    private themeBasedOnSystem;
    isSystemThemeSupported(): boolean;
}
export {};
