import type { IDisposableLike } from '@breadstone/mosaik-elements';
/**
 * Provides a clean and extensible interface to manage global CSS custom properties
 * via a dedicated <style> tag inside <head>.
 *
 * @public
 */
export declare class GlobalStyleSheet implements IDisposableLike {
    private readonly _styleId;
    private _styleElement;
    private _rootRule;
    private _initialized;
    /**
     * Constructs an uninitialized instance of the GlobalStyleSheet.
     * Call `.initialize()` before using it.
     */
    constructor(styleId?: string);
    /**
     * Initializes the stylesheet and inserts a :root rule if not present.
     *
     * @public
     */
    initialize(): void;
    /**
     * Disposes the style element and clears all references.
     *
     * @public
     */
    dispose(): void;
    /**
     * Sets a CSS variable on the :root rule.
     *
     * @public
     * @param name - The name of the CSS variable (must start with `--`).
     * @param value - The value of the CSS variable.
     */
    setVariable(name: string, value: string): void;
    /**
     * Retrieves the value of a CSS variable from the :root rule.
     *
     * @public
     * @param name - The name of the CSS variable (must start with `--`).
     * @returns The value of the CSS variable or null if not set.
     */
    getVariable(name: string): string | null;
    /**
     * Checks if a CSS variable is set on the :root rule.
     *
     * @public
     * @param name - The name of the CSS variable (must start with `--`).
     * @returns True if the variable is set, false otherwise.
     */
    hasVariable(name: string): boolean;
    /**
     * Removes a CSS variable from the :root rule.
     *
     * @public
     * @param name - The name of the CSS variable (must start with `--`).
     */
    removeVariable(name: string): void;
    /**
     * Clears all CSS variables from the :root rule.
     *
     * @private
     * @param name - The name of the CSS variable (must start with `--`).
     */
    private createStyleElement;
    /**
     * Ensures the variable name is valid (starts with `--`).
     *
     * @private
     * @param name - The name of the CSS variable.
     */
    private ensureValidVariableName;
    /**
     * Ensures the GlobalStyleSheet is initialized.
     *
     * @private
     */
    private ensureInitialized;
}
//# sourceMappingURL=StyleSheet.d.ts.map