import { type Define } from '@sigx/lynx'; import type { ColorScheme } from './types.js'; /** * Event name fired by the native publisher (iOS `AppearancePublisher.swift`, * Android `AppearancePublisher.kt`) via `GlobalEventEmitter` every time the * host's system color scheme flips. Payload mirrors the same map stored under * `lynx.__globalProps.appearance`. * * Kept as a constant so iOS/Android publishers and the JS listener agree on * a single string. */ export declare const APPEARANCE_EVENT = "appearanceChanged"; /** * Subscribe to system color-scheme flips. * * `@internal` — the supported way to observe the scheme is * `` + `useSystemColorScheme()`; this is the provider's own * subscription, factored out so the C7 disposer contract is directly testable. * * @returns unsubscribe — a plain function per C7, idempotent, safe off-device. */ export declare function subscribeAppearance(cb: (scheme: ColorScheme) => void): () => void; export type AppearanceProviderProps = Define.Prop<'class', string, false> & Define.Prop<'style', Record, false> & Define.Slot<'default'>; /** * Mount near the root of an app (above any consumer of `useSystemColorScheme`). * Cheap — just one BG signal + one GlobalEventEmitter subscription. The * native publisher writes `lynx.__globalProps.appearance` before MT first * paint, so the initial value is correct on cold start with no flash. * * On platforms where the publisher isn't wired (web preview, tests), * `readGlobalColorScheme()` returns `null` and we seed `'light'` as a safe * default — then, if the *module* is linked, ask it for the real value rather * than sitting on the seed until the user flips the system setting. */ export declare const AppearanceProvider: import("@sigx/runtime-core").ComponentFactory import("@sigx/runtime-core").JSXElement | import("@sigx/runtime-core").JSXElement[] | null) | undefined; }>; //# sourceMappingURL=provider.d.ts.map