import { PrintSettings, ToolbarTabId, ViewerOptionPrimitive, ViewerOptions, ViewerOptionsGroupId, ViewerOptionsStoreInit, ViewerPreferences } from 'pptx-viewer-shared'; /** * ViewerOptionsState: the runes wrapper around the shared File > Options * store. Owns the reactive `options` snapshot (updated via the store's * subscribe callback, persisted by the store to the shared * `pptx-viewer-prefs` localStorage entry) plus the derived behavior values * the viewer wires: history depth, ribbon visibility, print defaults, * screen tips, root classes, trust gates, and feedback sounds. */ export declare class ViewerOptionsState { #private; /** Reactive File > Options snapshot; a new object per change. */ options: ViewerOptions; constructor(init?: ViewerOptionsStoreInit); /** The legacy six-toggle projection of the current options. */ get preferences(): ViewerPreferences; /** Undo depth for the editor history (Advanced > maximum undos). */ get historyDepth(): number; /** Ribbon tabs unticked in Customize Ribbon (File never hides). */ get hiddenRibbonTabIds(): readonly ToolbarTabId[]; /** Print dialog seed, or undefined for "use most recent settings". */ get printDefaults(): Partial | undefined; /** Viewer-root CSS classes reflecting display-affecting options. */ get rootClasses(): string[]; setValue(group: ViewerOptionsGroupId, key: string, value: ViewerOptionPrimitive): void; /** Restore a snapshot wholesale (the dialog's Cancel semantics). */ restore(snapshot: ViewerOptions): void; setRibbonTabHidden(tabId: ToolbarTabId, hidden: boolean): void; setQuickAccessCommands(commandIds: readonly string[]): void; reset(group?: ViewerOptionsGroupId): void; /** * Push the legacy preference toggles (ribbon View tab, title-bar autosave) * back into the options model. Only writes when a value actually differs, * so the bidirectional sync with `preferences` cannot loop. */ applyPreferences(prefs: ViewerPreferences): void; /** Tooltip text under the current ScreenTip style, or undefined for none. */ screenTip(label: string, description?: string, shortcut?: string): string | undefined; /** * Trust Center gate for following an external hyperlink. Returns true when * navigation may proceed (gate off, non-http(s) target, or confirmed). */ confirmHyperlink(href: string, message: string): boolean; /** Accessibility > "feedback with sound" cue for a completed action. */ playFeedback(): void; /** * Options > Save > "Save AutoRecover information every N minutes", in * seconds. The autosave cadence whenever the host passed no explicit * `autosaveIntervalMs`; the host-vs-user precedence itself is decided by * `resolveAutosaveIntervalMs` in shared, not re-invented here. */ get autosaveIntervalSeconds(): number; /** Options > Save > "Delete cached files": drop all recovery snapshots. */ clearCache(): Promise; dispose(): void; } //# sourceMappingURL=viewer-options.svelte.d.ts.map