import { Observable } from 'rxjs';
import { GlobalConfig } from '@eui/base';
import { EuiAppShellService } from './eui-app-shell.service';
import * as i0 from "@angular/core";
export declare enum EuiTheme {
    DEFAULT = "default",
    ECL_EC = "ecl-ec",
    ECL_EC_RTL = "ecl-ec-rtl",
    ECL_EU = "ecl-eu",
    ECL_EU_RTL = "ecl-eu-rtl",
    EUI_LEGACY = "eui-legacy",
    EUI_LEGACY_HC = "eui-legacy-high-contrast",
    DARK = "dark",
    COMPACT = "compact",
    DS2025 = "ds2025"
}
interface IEuiTheme {
    name: EuiTheme;
    isActive: boolean;
    styleSheet: string;
    cssClass: string;
}
export interface ThemeState {
    themes: IEuiTheme[];
    theme: any;
}
export declare class EuiThemeService {
    private document;
    protected config: GlobalConfig;
    private asService;
    private _state$;
    constructor(document: Document, config: GlobalConfig, asService: EuiAppShellService);
    get state$(): Observable<ThemeState>;
    get state(): ThemeState;
    isDefault(): boolean;
    isEclEc(): boolean;
    isEclEcRtl(): boolean;
    isEclEu(): boolean;
    isEclEuRtl(): boolean;
    isEuiLegacy(): boolean;
    isEuiLegacyHc(): boolean;
    isDark(): boolean;
    isCompact(): boolean;
    isDs2025(): boolean;
    setActiveTheme(theme: EuiTheme, isActive: boolean): void;
    private _renderTheme;
    private _renderThemeCss;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiThemeService, [null, { optional: true; }, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EuiThemeService>;
}
export {};
//# sourceMappingURL=eui-theme.service.d.ts.map