/** * Browser-runtime side of the panel's live setting overrides: the page's * adapter onto the shared override module. Storage is the page's own * `localStorage` (written by the panel; same origin), and the live port is the * page channel the server rebroadcasts panel changes on. */ import type { ViteHotLike } from './page-channel.js'; import { type SettingsOverride } from '../../types/timeline.js'; /** `import.meta.hot` of the calling module, when it has one. */ type Hot = ViteHotLike | undefined; /** * Applies the persisted override immediately, then again whenever the panel * pushes a change over the page channel. `apply` receives the full override * object each time and should act only on the fields it owns. */ export declare const subscribeOverride: (hot: Hot, apply: (override: SettingsOverride) => void) => void; /** One handler per override key a consumer owns. */ export type OverrideHandlers = { [K in keyof SettingsOverride]?: (value: NonNullable) => void; }; /** * {@link subscribeOverride} for consumers that own a few keys: each handler * runs with its key's value whenever the override carries one, and is * skipped while the key is unset (the config-time default stands). */ export declare const subscribeOverrideKeys: (hot: Hot, handlers: OverrideHandlers) => void; export {}; //# sourceMappingURL=overrides.d.ts.map