import { FocusEvent } from '../events/focus-event.js'; import type { DOMElement } from './dom.js'; /** * DOM-like focus manager for the Ink terminal UI. * * Pure state — tracks activeElement and a focus stack. Has no reference * to the tree; callers pass the root when tree walks are needed. * * Stored on the root DOMElement so any node can reach it by walking * parentNode (like browser's `node.ownerDocument`). */ export declare class FocusManager { activeElement: DOMElement | null; private dispatchFocusEvent; private enabled; private focusStack; constructor(dispatchFocusEvent: (target: DOMElement, event: FocusEvent) => boolean); focus(node: DOMElement): void; blur(): void; handleNodeRemoved(node: DOMElement, root: DOMElement): void; handleAutoFocus(node: DOMElement): void; handleClickFocus(node: DOMElement): void; enable(): void; disable(): void; focusNext(root: DOMElement): void; focusPrevious(root: DOMElement): void; private moveFocus; } export declare function getRootNode(node: DOMElement): DOMElement; export declare function getFocusManager(node: DOMElement): FocusManager; //# sourceMappingURL=focus.d.ts.map