import { Renderer2 } from '@angular/core';
import { AutoThemeConfig, ThemeMode } from '../types/theme.types';
import * as i0 from "@angular/core";
export declare class ThemeService {
    private renderer;
    private readonly THEME_KEY;
    private themeSubject$;
    private autoConfig;
    private autoChangeTimer;
    systemThemeQuery: MediaQueryList | null;
    private systemThemeListener;
    private localDomElement;
    constructor(renderer: Renderer2);
    /**
     * 绑定最外围元素
     * @param domElement
     */
    bindElement(domElement: HTMLElement): void;
    ngOnInit(): void;
    get theme(): ThemeMode;
    getThemeObservable(): import("rxjs").Observable<ThemeMode>;
    setMode(mode: ThemeMode): void;
    setAutoConfig(config: AutoThemeConfig): void;
    private startAutoCheck;
    private stopAutoCheck;
    private checkAndApplyAutoTheme;
    private applyTheme;
    toggleTheme(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
}
