import { CollaborationController } from '../collab'; import { StageContextMenu } from '../components/props'; import { EditorController } from '../editor/editor-controller.svelte'; import { FindReplaceState } from '../editor/editor-find-replace.svelte'; import { EditorState } from '../editor/editor-state.svelte'; import { ChromeUiState } from './chrome-ui.svelte'; import { CreateViewerStateOptions } from './create-viewer-state-types'; import { PresentationLoader } from './presentation-loader.svelte'; import { ViewerOptionsState } from './viewer-options.svelte'; import { ViewerParityUiState } from './viewer-parity-ui.svelte'; import { ViewerState } from './viewer-state.svelte'; export interface EditorUiClusterDeps { loader: PresentationLoader; editor: EditorState; viewer: ViewerState; collab: CollaborationController; options: CreateViewerStateOptions; /** Effective canvas scale (main stage), or master-view scale when applicable. */ getScale(): number; /** The live editable flag (not the raw host prop). */ getEditable(): boolean; /** Flip the live editable flag (Trust Center's Protected View on load). */ setEditable(editable: boolean): void; /** Autosave flag + toggle, owned by the collaboration cluster built before this one. */ getAutosaveEnabled(): boolean; setAutosaveEnabled(enabled: boolean): void; } export interface EditorUiCluster { parityUi: ViewerParityUiState; chromeUi: ChromeUiState; optionsState: ViewerOptionsState; controller: EditorController; findReplace: FindReplaceState; stageContextMenu: StageContextMenu | null; } /** * The editing chrome cluster: view/print/annotation preferences * (`ViewerParityUiState`), the full File > Options model (`ViewerOptionsState`, * published via context for the quick-access bar / ribbon / Options dialog), * side-panel open state (`ChromeUiState`), the pointer/keyboard/history * controller (`EditorController`), the ribbon's Find & Replace panel state, and * the load-pipeline wiring (`useViewerEffects`, which needs `controller` to * close open selections/inline edits when `editable` flips off). Split out of * `createViewerState` to keep that file under the repo's file-size budget; * built after the collaboration cluster because `controller` reports cursor * moves to `collab.setCursor` and the options wiring drives its autosave flag. * Named `use*`, not `build*`, because of the `use*` calls it makes. */ export declare function useEditorUiCluster(deps: EditorUiClusterDeps): EditorUiCluster; //# sourceMappingURL=create-viewer-state-editor-ui.svelte.d.ts.map