/**
 * Helper functions for managing TGUI themes
 */
import { OnDestroy } from '@angular/core';
import { AppearanceType } from '../services/theme.service';
import * as i0 from "@angular/core";
/**
 * Apply the specified theme by adding the appropriate CSS class to the document's root element
 * @param theme The theme to apply ('light' or 'dark')
 */
export declare function applyTheme(theme: AppearanceType): void;
/**
 * Setup system theme detection using prefers-color-scheme
 * @param callback Optional callback function that will be called when the theme changes
 * @returns A function to cleanup the listeners
 */
export declare function setupSystemThemeDetection(callback?: (theme: AppearanceType) => void): () => void;
/**
 * Angular service for using system themes
 * Uses signals to track theme changes
 */
export declare class SystemThemeService implements OnDestroy {
    private readonly themeSignal;
    readonly theme: import("@angular/core").Signal<AppearanceType>;
    private cleanup;
    constructor();
    setTheme(theme: AppearanceType): void;
    enableSystemTheme(): void;
    disableSystemTheme(): void;
    ngOnDestroy(): void;
    private getInitialTheme;
    private setupThemeDetection;
    static ɵfac: i0.ɵɵFactoryDeclaration<SystemThemeService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SystemThemeService>;
}
