import { type StudioAccessibilityPreferences } from "../utils/accessibility"; import type { EditableNodeAttributes, SiteTheme } from "../types"; import { resolveFontFamily } from "../utils/fontFaces"; export { resolveFontFamily }; export declare const FOCUS_RING_CLASSES = "[&_*:focus-visible]:[outline-style:solid] [&_*:focus-visible]:[outline-width:var(--focus-ring-width,2px)] [&_*:focus-visible]:[outline-offset:var(--focus-ring-offset,2px)] [&_*:focus-visible]:[outline-color:var(--focus-ring-color,currentColor)]"; export interface ThemeProviderProps { /** Runtime visitor preferences; never written into the authored theme. */ accessibility?: StudioAccessibilityPreferences; theme?: SiteTheme; children: React.ReactNode; /** Keep the normal full-page canvas, or shrink-wrap embedded previews. */ fillViewport?: boolean; /** Use explicit list pagination when the host sizes its iframe to the content. */ contentEmbed?: boolean; } export declare function resolveAuthorThemeVariables(theme?: SiteTheme): Record; export declare function resolveThemeVariables(theme?: SiteTheme, accessibility?: StudioAccessibilityPreferences): Record; export declare function ThemeProvider({ theme, children, fillViewport, accessibility, contentEmbed }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element; interface ThemeScopeProps extends EditableNodeAttributes { /** Theme carrying `modes` (e.g. from the resolved SiteConfig). */ theme?: SiteTheme; /** Mode key to apply, e.g. "building:123". */ modeKey?: string; children: React.ReactNode; } /** * Subtree mode overlay: applies authored overrides and rebinds presentation aliases * against that palette so visitor preferences remain consistent across boundaries. * Real consumer is the per-building Repeat (P4a). */ export declare function ThemeScope({ theme, modeKey, children, "data-node-id": dataNodeId }: ThemeScopeProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=ThemeProvider.d.ts.map