import { f as ThGlobalPreferences, g as ThGlobalPreferencesAdapter, C as CustomizableKeys, D as DefaultKeys, e as ThPreferences, d as ThPreferencesAdapter, a as ThemeTokens, F as FontCollection, L as LocalStaticFontFile, h as FontDefinition, T as ThThemeKeys, c as ThShortcutsPref, i as ThIconPref, j as ThLayoutDefaultsPref } from '../ThPreferencesAdapter-B3a-f5v-.mjs'; export { A as ActionKey, w as ActionKeyType, b as AudioContentProtectionConfig, a1 as BunnyFontSource, I as CSSAbsoluteLength, J as CSSAngle, $ as CSSColor, K as CSSDefaultViewport, M as CSSDynamicViewport, O as CSSFontRelativeLength, N as CSSFrequency, P as CSSLargeViewport, Q as CSSPhysicalLength, R as CSSRelativeLength, U as CSSResolution, X as CSSRootFontRelativeLength, Y as CSSSmallViewport, Z as CSSTime, G as CSSValueUnitless, H as CSSValueWithUnit, _ as CSSViewport, an as ContentProtectionConfig, al as CopyProtectionConfig, a7 as FontSource, a8 as FontSpec, a2 as GoogleFontSource, a6 as LocalFontSource, a4 as LocalStaticFontSource, a3 as LocalVariableFontFile, a5 as LocalVariableFontSource, am as PrintProtectionConfig, S as SettingsKey, y as SettingsKeyType, n as SpacingSettingsKey, B as SpacingSettingsKeyType, a0 as SystemFontSource, m as TextSettingsKey, z as TextSettingsKeyType, q as ThActionsPref, s as ThConstraintKeys, aa as ThFontFamilyPref, r as ThSettingsKeyTypes, o as ThSettingsSpacingPresets, t as ThShortcutsDisplayIn, p as ThSpacingPreset, l as ThemeKey, x as ThemeKeyType, a9 as ValidatedLanguageCollection, V as VariableFontRangeConfig, W as WeightConfig, ae as arabicFarsiCollection, ag as chineseSimplifiedCollection, ah as chineseTraditionalCollection, ax as contrast1Theme, ay as contrast2Theme, az as contrast3Theme, k as createGlobalPreferences, v as createPreferences, au as darkTheme, ar as defaultAudioContentProtectionConfig, aq as defaultContentProtectionConfig, ac as defaultFontCollection, as as devContentProtectionConfig, af as hebrewCollection, ai as japaneseCollection, aj as japaneseVerticalCollection, ak as koreanCollection, at as lightTheme, av as paperTheme, ab as readiumCSSFontCollection, ap as resolveAudioContentProtectionConfig, ao as resolveContentProtectionConfig, aw as sepiaTheme, ad as tamilCollection, u as useTheming, E as useThemingProps } from '../ThPreferencesAdapter-B3a-f5v-.mjs'; import * as React$1 from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; import { a as ThAudioPreferences, A as AudioDefaultKeys, b as AudioCustomizableKeys, c as ThAudioPreferencesAdapter } from '../usePreferences-Cy7-JN2x.mjs'; export { g as AudioSettingsKey, i as ThAudioActionKey, m as ThAudioActionKeys, j as ThAudioActionsPref, d as ThAudioAffordance, k as ThAudioConstraintKeys, h as ThAudioKeyTypes, n as ThAudioKeys, q as ThAudioSettingsKeys, f as ThAudioThemeKey, e as ThAudioThemeKeys, T as ThPreferencesProvider, p as ThSettingsTimerPref, o as ThSettingsTimerVariant, l as createAudioPreferences, s as defaultAudioPlaybackRate, B as defaultAudioPlaybackRateAction, D as defaultAudioRemotePlaybackAction, t as defaultAudioSkipBackwardInterval, v as defaultAudioSkipForwardInterval, w as defaultAudioSkipInterval, x as defaultAudioSleepTimer, C as defaultAudioSleepTimerAction, y as defaultAudioSleepTimerPresetList, E as defaultAudioTocAction, r as defaultAudioVolume, z as defaultAudioVolumeAction, u as usePreferences } from '../usePreferences-Cy7-JN2x.mjs'; import { e as ThColorScheme, g as ThSettingsKeys, h as ThTextSettingsKeys, b as ThSpacingSettingsKeys, a as ThSpacingPresetKeys } from '../useContrast-Bl08zDTU.mjs'; export { p as ThLayoutOptions, T as ThLineHeightOptions, m as ThSettingsContainerKeys, j as ThSettingsGroupPref, i as ThSettingsRadioPref, o as ThSettingsRangePlaceholder, l as ThSettingsRangePref, d as ThSettingsRangePrefRequired, n as ThSettingsRangeVariant, c as ThTextAlignOptions, z as defaultLetterSpacing, A as defaultLineHeights, x as defaultParagraphIndent, w as defaultParagraphSpacing, C as defaultSpacingPresets, v as defaultSpacingPresetsOrder, s as defaultSpacingSettingsMain, t as defaultSpacingSettingsSubpanel, q as defaultTextSettingsMain, r as defaultTextSettingsSubpanel, y as defaultWordSpacing, B as defaultZoom } from '../useContrast-Bl08zDTU.mjs'; import { f as ThDockingPref, T as ThDockingKeys, c as ThActionsTokens, b as ThAudioActionsTokens, g as ThActionsKeys } from '../actions-C33UN3Ji.mjs'; export { I as I18nValue, k as TEXT_INPUT_SELECTORS, m as ThActionsDockedPref, n as ThActionsSnappedPref, l as ThBottomSheetDetent, o as ThDockingTypes, a as ThSheetHeaderVariant, e as ThSheetTypes, j as ThShortcutConfig, p as defaultActionKeysObject, r as defaultFullscreenAction, t as defaultJumpToPositionAction, q as defaultSettingsAction, s as defaultTocAction } from '../actions-C33UN3Ji.mjs'; import { T as ThBackLinkPref, B as BreakpointsMap } from '../ui-DnZZhozX.mjs'; export { o as ThArrowVariant, a as ThAudioPlayerComponent, c as ThAudioProgressBarVariant, r as ThAudioPublicationMetadataComponent, l as ThBackLinkContent, p as ThBackLinkVariant, d as ThBreakpoints, f as ThDocumentTitleFormat, g as ThFormatPref, m as ThFormatPrefValue, q as ThLayoutDirection, j as ThLayoutUI, k as ThPaginatedAffordancePref, n as ThPaginatedAffordancePrefValue, i as ThProgressionFormat, b as ThPublicationMetadataOrder, h as ThRunningHeadFormat } from '../ui-DnZZhozX.mjs'; import '../keyboardUtilities-BCP3UcLb.mjs'; import '@readium/navigator'; import 'react-aria-components'; import '@readium/navigator-html-injectables'; interface GlobalPreferencesContextValue { preferences: ThGlobalPreferences; updatePreferences: (prefs: ThGlobalPreferences) => void; } declare const ThGlobalPreferencesContext: React$1.Context; type Props$1 = { adapter?: ThGlobalPreferencesAdapter; initialPreferences?: ThGlobalPreferences; children: React.ReactNode; }; declare function ThGlobalPreferencesProvider({ adapter, initialPreferences, children }: Props$1): react_jsx_runtime.JSX.Element; declare const defaultAudioPreferences: ThAudioPreferences; interface AudioPreferencesContextValue { preferences: ThAudioPreferences; updatePreferences: (prefs: ThAudioPreferences) => void; } declare const ThAudioPreferencesContext: React$1.Context | null>; declare const defaultAudioPreferencesContextValue: AudioPreferencesContextValue; type Props = { adapter?: ThAudioPreferencesAdapter; initialPreferences?: ThAudioPreferences; devMode?: boolean; children: React.ReactNode; }; declare function ThAudioPreferencesProvider({ adapter, initialPreferences, devMode, children, }: Props): react_jsx_runtime.JSX.Element; interface PreferencesContextValue { preferences: ThPreferences; updatePreferences: (prefs: ThPreferences) => void; } declare const ThPreferencesContext: React$1.Context | null>; declare const defaultPreferencesContextValue: PreferencesContextValue; declare const defaultPreferences: ThPreferences; declare class ThAudioMemoryPreferencesAdapter implements ThAudioPreferencesAdapter { private currentPreferences; private listeners; constructor(initialPreferences: ThAudioPreferences); getPreferences(): ThAudioPreferences; setPreferences(prefs: ThAudioPreferences): void; subscribe(listener: (prefs: ThAudioPreferences) => void): void; unsubscribe(listener: (prefs: ThAudioPreferences) => void): void; private notifyListeners; } declare class ThMemoryPreferencesAdapter implements ThPreferencesAdapter { private currentPreferences; private listeners; constructor(initialPreferences: ThPreferences); getPreferences(): ThPreferences; setPreferences(prefs: ThPreferences): void; subscribe(listener: (prefs: ThPreferences) => void): void; unsubscribe(listener: (prefs: ThPreferences) => void): void; private notifyListeners; } declare class ThGlobalMemoryPreferencesAdapter implements ThGlobalPreferencesAdapter { private preferences; private listeners; constructor(initialPreferences?: ThGlobalPreferences); getPreferences(): ThGlobalPreferences; setPreferences(prefs: ThGlobalPreferences): void; subscribe(callback: (prefs: ThGlobalPreferences) => void): void; unsubscribe(callback: (prefs: ThGlobalPreferences) => void): void; } interface buildThemeProps { theme?: string; themeKeys: { [key in T]?: ThemeTokens; }; systemThemes?: { light: T; dark: T; }; colorScheme?: ThColorScheme; } declare const buildThemeObject: ({ theme, themeKeys, systemThemes, colorScheme }: buildThemeProps) => {}; interface BunnyFontDefinitionParams { cssUrl: string; options?: { labels?: Record; fallbacks?: Record; order?: string[]; }; } /** * Parses a Bunny Fonts CSS URL and creates font definitions for all families * @param params Bunny Fonts CSS URL and optional configuration * @returns FontCollection object with all font definitions * @throws Error if CSS URL is invalid or cannot be parsed */ declare const createDefinitionsFromBunnyFonts: (params: BunnyFontDefinitionParams) => FontCollection; interface GoogleFontDefinitionParams { cssUrl: string; options?: { widthStep?: number; weightStep?: number; display?: "swap" | "block" | "fallback" | "optional"; labels?: Record; fallbacks?: Record; order?: string[]; }; } /** * Parses a Google Fonts CSS URL and creates font definitions for all families * @param params Google Fonts CSS URL and optional configuration for step values and display * @returns FontCollection object with all font definitions * @throws Error if CSS URL is invalid or cannot be parsed */ declare const createDefinitionsFromGoogleFonts: (params: GoogleFontDefinitionParams) => FontCollection; interface CreateFontDefinitionParams { id: string; name: string; files: LocalStaticFontFile[]; family?: string; label?: string; fallbacks?: string[]; } /** * Creates a complete font definition by inferring properties from static font files * @param params Font definition parameters * @returns Complete font definition with inferred spec * @throws Error if files are not static font files or if no files provided */ declare const createDefinitionFromStaticFonts: (params: CreateFontDefinitionParams) => FontDefinition; declare const validateObjectKeys: (orderArrays: K[][], keysObj: Record, context: string, specialCase?: string | string[], fallback?: V) => void; interface ActionsPreferences { docking: ThDockingPref; actionsKeys: Record; } interface AudioActionsPreferences { docking: ThDockingPref; primaryActionsKeys: Record; secondaryActionsKeys: Record; primaryDisplayOrder: string[]; secondaryDisplayOrder: string[]; } /** * Context-agnostic hook for docking/actions infrastructure. * Resolves preferences from the audio context when available, * falling back to the reader context. This allows shared * components (docking, action containers) to work in both. */ declare const useActionsPreferences: () => ActionsPreferences; declare const useAudioActionsPreferences: () => AudioActionsPreferences; declare function useAudioPreferences(): { preferences: ThAudioPreferences; updatePreferences: (prefs: ThAudioPreferences) => void; }; declare const usePreferenceKeys: () => { reflowActionKeys: ThActionsKeys[]; fxlActionKeys: ThActionsKeys[]; webPubActionKeys: ThActionsKeys[]; reflowThemeKeys: ("auto" | ThThemeKeys)[]; fxlThemeKeys: ("auto" | ThThemeKeys)[]; reflowSettingsKeys: ThSettingsKeys[]; fxlSettingsKeys: ThSettingsKeys[]; webPubSettingsKeys: ThSettingsKeys[]; mainTextSettingsKeys: ThTextSettingsKeys[]; subPanelTextSettingsKeys: ThTextSettingsKeys[]; mainSpacingSettingsKeys: ThSpacingSettingsKeys[]; subPanelSpacingSettingsKeys: ThSpacingSettingsKeys[]; reflowSpacingPresetKeys: ThSpacingPresetKeys[]; fxlSpacingPresetKeys: ThSpacingPresetKeys[]; webPubSpacingPresetKeys: ThSpacingPresetKeys[]; }; /** * Wraps usePreferenceKeys and filters out settings keys that are not applicable * for the current publication's script mode (RTL, CJK-horizontal, CJK-vertical). * Drop-in replacement for usePreferenceKeys at all call sites. */ declare const useFilteredPreferenceKeys: () => { reflowActionKeys: ThActionsKeys[]; fxlActionKeys: ThActionsKeys[]; webPubActionKeys: ThActionsKeys[]; reflowThemeKeys: ("auto" | ThThemeKeys)[]; fxlThemeKeys: ("auto" | ThThemeKeys)[]; reflowSettingsKeys: ThSettingsKeys[]; fxlSettingsKeys: ThSettingsKeys[]; webPubSettingsKeys: ThSettingsKeys[]; mainTextSettingsKeys: ThTextSettingsKeys[]; subPanelTextSettingsKeys: ThTextSettingsKeys[]; mainSpacingSettingsKeys: ThSpacingSettingsKeys[]; subPanelSpacingSettingsKeys: ThSpacingSettingsKeys[]; reflowSpacingPresetKeys: ThSpacingPresetKeys[]; fxlSpacingPresetKeys: ThSpacingPresetKeys[]; webPubSpacingPresetKeys: ThSpacingPresetKeys[]; }; interface SharedPreferences { shortcuts: ThShortcutsPref; docking: ThDockingPref; theming: { icon: ThIconPref; header?: { backLink?: ThBackLinkPref | null; }; themes: { systemThemes?: { light: string; dark: string; }; keys: Record; audioOrder?: Array; reflowOrder?: Array; fxlOrder?: Array; }; layout: { defaults: ThLayoutDefaultsPref; }; breakpoints: BreakpointsMap; }; } /** * Resolves preference values that are shared across both provider trees * (audio and reader). Both providers expose these fields — this hook picks * the active one so callers never need to touch the contexts directly. */ declare const useSharedPreferences: () => SharedPreferences; declare const useGlobalPreferences: () => GlobalPreferencesContextValue; export { type ActionsPreferences, type AudioActionsPreferences, AudioCustomizableKeys, AudioDefaultKeys, type AudioPreferencesContextValue, CustomizableKeys, DefaultKeys, FontCollection, FontDefinition, type GlobalPreferencesContextValue, type GoogleFontDefinitionParams, LocalStaticFontFile, type PreferencesContextValue, type SharedPreferences, ThActionsKeys, ThActionsTokens, ThAudioActionsTokens, ThAudioMemoryPreferencesAdapter, ThAudioPreferences, ThAudioPreferencesAdapter, ThAudioPreferencesContext, ThAudioPreferencesProvider, ThBackLinkPref, ThDockingKeys, ThDockingPref, ThGlobalMemoryPreferencesAdapter, ThGlobalPreferences, ThGlobalPreferencesAdapter, ThGlobalPreferencesContext, ThGlobalPreferencesProvider, ThIconPref, ThLayoutDefaultsPref, ThMemoryPreferencesAdapter, ThPreferences, ThPreferencesAdapter, ThPreferencesContext, ThSettingsKeys, ThShortcutsPref, ThSpacingPresetKeys, ThSpacingSettingsKeys, ThTextSettingsKeys, ThThemeKeys, ThemeTokens, buildThemeObject, type buildThemeProps, createDefinitionFromStaticFonts, createDefinitionsFromBunnyFonts, createDefinitionsFromGoogleFonts, defaultAudioPreferences, defaultAudioPreferencesContextValue, defaultPreferences, defaultPreferencesContextValue, useActionsPreferences, useAudioActionsPreferences, useAudioPreferences, useFilteredPreferenceKeys, useGlobalPreferences, usePreferenceKeys, useSharedPreferences, validateObjectKeys };