import { CSSResult, ReactiveController } from 'lit';
import { GdsElement } from '../../gds-element';
export declare class DynamicStylesController implements ReactiveController {
    #private;
    host: GdsElement;
    constructor(host: GdsElement);
    hostConnected(): void;
    /**
     * Checks if the controller has a particular key.
     *
     * @param key - The style key to check.
     */
    has(key: string): boolean;
    /**
     * Injects CSS into the host element's shadow root. The key is used to
     * identify the styles and can be used to update the styles later. If
     * you need to clear style for a particular key, you can call `inject`
     * with an empty string as the `styles` parameter.
     *
     * @param key - A unique key to identify the styles.
     * @param cssResult - The CSSResult to inject.
     */
    inject(key: string, cssResult: CSSResult): void;
    /**
     * Clears the styles for a particular key.
     *
     * @param key - The key of the styles to clear.
     */
    clear(key: string): void;
    /**
     * Clears all styles of the component, including any initial styles.
     */
    clearAll(): void;
    /**
     * Clears the initial styles of the component, but keeps any injected styles.
     */
    clearInitial(): void;
    /**
     * Restores the initial styles of the component, and keeps any injected styles.
     */
    restoreInitial(): void;
}
export declare function supportsConstructedStylesheets(): boolean;
