import { RendererFactory2 } from '@angular/core';
import { Observable } from 'rxjs';
import { MediaQueryService } from './media-query.service';
import { DarkModeOptions } from './types';
import * as i0 from "@angular/core";
export declare class DarkModeService {
    private rendererFactory;
    private mediaQueryService;
    private providedOptions;
    private readonly options;
    private readonly renderer;
    private readonly darkModeSubject$;
    constructor(rendererFactory: RendererFactory2, mediaQueryService: MediaQueryService, providedOptions: DarkModeOptions | null);
    /**
     * An Observable representing current dark mode.
     * Only fires the initial and distinct values.
     */
    get darkMode$(): Observable<boolean>;
    toggle(): void;
    enable(): void;
    disable(): void;
    private getInitialDarkModeValue;
    private saveDarkModeToStorage;
    private getDarkModeFromStorage;
    private removePreloadingClass;
    static ɵfac: i0.ɵɵFactoryDeclaration<DarkModeService, [null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DarkModeService>;
}
