import { type ThemeMode, type ThemeScope, type ThemeVariables } from "./theme-types.js"; declare const HTMLElementBase: { new (): HTMLElement; prototype: HTMLElement; }; export declare class PieThemeElement extends HTMLElementBase { static get observedAttributes(): string[]; private mediaQuery; private readonly onMediaChange; private previousKeys; private previousTarget; private variablesOverride; private promoteDocumentOwnership; private stopObservingSchemes; private stopObservingProviders; get theme(): ThemeMode; set theme(value: ThemeMode); get scope(): ThemeScope; set scope(value: ThemeScope); get variables(): ThemeVariables; set variables(value: ThemeVariables); get provider(): string; set provider(value: string); get scheme(): string; set scheme(value: string); connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void; protected getTarget(): HTMLElement; protected applyTheme(): void; /** * Provider adapters resolve by reading custom properties off the target, and * those are selected by the target's own `data-theme` -- daisyUI's `--color-*` * are the case that matters. So the target has to be carrying the incoming * theme before the read: resolving first resolves the palette of the theme * being replaced and leaves every `--pie-*` value one selection behind, with * nothing to re-resolve it until some other attribute changes. * * The attributes are restored rather than left in place. For * `scope="document"` the ownership arbitration in `applyTheme` decides whether * this element may stamp them at all, and `ensureDocumentThemeBaseline` has to * see the host's pre-existing value to have something to restore on * disconnect. Stamp and restore happen in one synchronous pass, so the * transient state is never painted. */ private resolveProviderVariablesForState; private resolveThemeState; private clearPreviousTarget; private clearPreviousKeys; private setupAutoThemeListener; } export declare function definePieTheme(tagName?: string): void; declare global { interface HTMLElementTagNameMap { "pie-theme": PieThemeElement; } } export {};