import { SettingsManager } from '../settings/SettingsManager'; import { NodeSearchViewMode, NodeSearchFilterMode } from '../types/interaction'; import { ConnectionControlPointRoundingId } from '../types/connectionBehavior'; type ThemeValue = "light" | "dark" | "auto"; type Settings = { showGrid: boolean; showMinimap: boolean; showStatusBar: boolean; theme: ThemeValue; autoSave: boolean; autoSaveInterval: number; smoothAnimations: boolean; doubleClickToEdit: boolean; fontSize: number; gridSize: number; gridOpacity: number; gridVisibilityThreshold: number; portLabelVisibilityThreshold: number; canvasSnapshotThreshold: number; canvasBackground: string; nodeSearchViewMode: NodeSearchViewMode; nodeSearchFilterMode: NodeSearchFilterMode; nodeSearchMenuWidth: number; connectionControlPointRounding: ConnectionControlPointRoundingId; connectionHandleOffsetMin: number; connectionHandleOffsetMax: number; }; export type { Settings }; /** * Provides memoized editor settings sourced from an optional SettingsManager with sensible defaults. * @param settingsManager Optional manager instance to subscribe to for reactive updates. */ export declare function useSettings(settingsManager?: SettingsManager): Settings;