/** * Composable that manages a find/replace floating surface. * * Owns all search state (query, toggles, match count, active index) and the * resolution chain for custom/external/built-in rendering. The component * receives a FindReplaceHandle with reactive state and actions. * * @param {Object} options * @param {() => import('../core/surface-manager.js').SurfaceManager | null} options.getSurfaceManager * @param {() => import('@superdoc/super-editor').Editor | null} options.getActiveEditor * @param {import('vue').Ref} [options.activeEditorRef] - Reactive ref to the active editor (for watching switches) * @param {() => boolean | FindReplaceConfig | undefined} [options.getFindReplaceConfig] - Config getter */ export function useFindReplace({ getSurfaceManager, getActiveEditor, activeEditorRef, getFindReplaceConfig }: { getSurfaceManager: () => import('../core/surface-manager.js').SurfaceManager | null; getActiveEditor: () => import('../../../super-editor/src/index.js').Editor | null; activeEditorRef?: import('vue').Ref | undefined; getFindReplaceConfig?: (() => boolean | FindReplaceConfig | undefined) | undefined; }): { open: () => Promise; close: () => void; isOpen: import('vue').Ref; wouldOpen: () => boolean; destroy: () => void; }; export type FindReplaceConfig = import('../core/types').FindReplaceConfig; export type ResolvedFindReplaceTexts = import('../core/types').ResolvedFindReplaceTexts; export type FindReplaceHandle = import('../core/types').FindReplaceHandle; export type FindReplaceContext = import('../core/types').FindReplaceContext; export type FindReplaceResolution = import('../core/types').FindReplaceResolution; //# sourceMappingURL=use-find-replace.d.ts.map