import type { PreferenceValues, UserSettableKey, PreferenceStorage } from '../../contracts/preferences.js'; import type { OsSignals, CapabilitySignals, PreferenceInput, ResolvedDetail } from './types.js'; export interface PreferenceStore { getSnapshot(): PreferenceValues; getServerSnapshot(): PreferenceValues; resolved(): ResolvedDetail; getResolvedServerSnapshot(): ResolvedDetail; subscribe(listener: () => void): () => void; set(key: K, value: PreferenceValues[K]): void; reset(): void; setApp(input: PreferenceInput): void; /** Point attribute writes at an element once it exists (provider mount). A list makes the first element the primary target (every data-ag-* attribute plus --ag-glass-opacity); each further element is a mirror that receives only the resolved data-ag-scheme and data-ag-transparency (REQ-MAT-56: a nested provider mirrors onto [data-ag-portal-root] so portaled overlays resolve like the provider's subtree). A mirror dropped by a later call loses the attributes this store wrote to it. */ setTarget(el: HTMLElement | readonly HTMLElement[] | null): void; } export interface StoreSignals { os?: () => OsSignals; cap?: () => CapabilitySignals; subscribe?: (notify: () => void) => () => void; engine?: () => string; } export type PreferenceStoreOptions = { storage?: PreferenceStorage | null; storageKey?: string; legacyStorageKey?: string; app?: PreferenceInput; target?: HTMLElement | null; window?: Window | null; signals?: StoreSignals; }; export declare const createPreferenceStore: (opts?: PreferenceStoreOptions) => PreferenceStore; //# sourceMappingURL=store.d.ts.map