import type { VendoTheme } from "../../core/apps/index.js"; import { type ReactNode } from "react"; /** Inject the chrome stylesheet once. Exported for surfaces that portal OUT of a ChromeRoot's DOM subtree (MorphToast, VendoToasts) and hand-roll their own `.vendo-root` theme boundary on document.body. */ export declare function ensureChromeStyles(): void; export declare function useChromeRootPresence(): boolean; /** * The theme in force at this point in the REACT tree: the nearest chrome * boundary's resolved theme, else the provider's. * * This is what anything portalling to `document.body` reads. Those surfaces * hand-roll their own `.vendo-root` boundary (the comment above * {@link ensureChromeStyles}), so a DOM-cascade inheritance never reaches * them — but they are still rendered from inside their spawning surface's * React subtree, and that surface may carry its own `theme`. */ export declare function useChromeTheme(): VendoTheme; /** A surface's own partial theme, merged over the provider's resolved theme — the same merge `VendoProvider` applies over `defaultVendoTheme`. With no provider above, the provider value IS `defaultVendoTheme`, so a bare surface merges over the defaults. */ export declare function useSurfaceTheme(theme?: Partial): VendoTheme; /** 08-ui §4, §6 — one shared theme/style/notice boundary per chrome surface. */ export declare function ChromeRoot({ children, className, /** This surface's own brand tokens, merged over the provider's. */ theme, /** Opt IN to the developer policy banner (dev/console surfaces only). */ automaticPolicyNotice, }: { children: ReactNode; className?: string; theme?: Partial; automaticPolicyNotice?: boolean; }): import("react").JSX.Element;