import { type ReactNode } from 'react'; type OfficeEditorFocusOrigin = Element | null; /** * Captures the focused opener before a lazy editor suspends so the mounted * editing surface can claim that focus without overriding later navigation. */ export declare function OfficeEditorFocusHandoff({ children, }: { children: ReactNode; }): import("react").JSX.Element; /** Returns the pre-suspense opener, or captures the local mount origin. */ export declare function useOfficeEditorFocusOrigin(): OfficeEditorFocusOrigin; interface OfficeEditorInitialFocusOptions { enabled: boolean; getTarget: () => HTMLElement | null; isTargetReady?: (target: HTMLElement) => boolean; } /** * Claims first-open focus only after the editing target is ready, then keeps * it stable across the brief DOM replacement window used by rich editors. */ export declare function useOfficeEditorInitialFocus({ enabled, getTarget, isTargetReady, }: OfficeEditorInitialFocusOptions): void; /** * Returns a cleanup that cancels the bounded first-open focus handoff. * Deliberate pointer navigation, Tab navigation, or unrelated focus wins. */ export declare function stabilizeOfficeEditorInitialFocus(getTarget: () => HTMLElement | null, focusOrigin?: Element | null, isTargetReady?: (target: HTMLElement) => boolean): () => void; export {};