import type { Consumer, Provider } from 'preact'; import type { useLynxGlobalEventListener } from './hooks/useLynxGlobalEventListener.js'; type Getter = { [key in keyof T]: () => T[key]; }; interface GlobalPropsRuntimeDeps { createContext: typeof import('preact').createContext; useState: typeof import('preact/hooks').useState; createElement: typeof import('preact/compat').createElement; useLynxGlobalEventListener: typeof useLynxGlobalEventListener; } interface GlobalPropsApi { Provider: Provider; Consumer: Consumer; use: () => Data; useChanged: (callback: (data: Data) => void) => void; } /** * The interface you can extends so that the `useGlobalProps` returning value can be customized * * @public * * @group Types */ export interface GlobalProps { } export interface UpdateGlobalPropsOptions { forceRerender?: (() => void) | undefined; } export declare function isGlobalPropsEventMode(): boolean; export declare function createGlobalProps(deps: GlobalPropsRuntimeDeps): Getter>; export declare function updateGlobalProps(newData: Record, { forceRerender }?: UpdateGlobalPropsOptions): void; export {};