import type { BoxModel } from '@mo-fang/types';
export declare const HostComponent = 5;
export declare const HostText = 6;
export declare const FunctionComponent = 0;
export declare const ClassComponent = 1;
export declare const IndeterminateComponent = 2;
export declare const ContextConsumer = 9;
export declare const ContextProvider = 10;
export declare const ForwardRef = 11;
export declare const MemoComponent = 14;
export declare const SimpleMemoComponent = 15;
export declare const LazyComponent = 16;
export declare const IncompleteClassComponent = 17;
export declare const ELEMENT_NODE = 1;
export declare const TEXT_NODE = 3;
export declare const COMMENT_NODE = 8;
export declare const DOCUMENT_NODE = 9;
export declare const DOCUMENT_FRAGMENT_NODE = 11;
export declare const SUSPENSE_START_DATA = "$";
export declare const SUSPENSE_END_DATA = "/$";
export declare const SUSPENSE_PENDING_START_DATA = "$?";
export declare const SUSPENSE_FALLBACK_START_DATA = "$!";
export declare class ReactFinder {
    rootElement: HTMLElement;
    nodeElementCache: Map<string, HTMLElement>;
    mutation: MutationObserver;
    constructor(rootElement: HTMLElement, isValidNodeId: (nodeId: string) => boolean);
    /**
     * 找到最近的组件的 BoxModel
     *
     * @param x
     * @param y
     */
    getClosestNodeElement: (x: number, y: number) => {
        nodeId: string;
    } | undefined;
    /**
     * 通过 NodeId 获取 Element
     *
     * @param nodeId
     */
    getElementByNodeId: (nodeId: string, selector?: string) => BoxModel[] | undefined;
    /**
     * 销毁
     */
    dispose: () => void;
    /**
     * 从缓存中获取 DOM
     *
     * @param nodeId
     * @returns
     */
    private getDOMFromCache;
    /**
     * 从 Fiber 中获取 Element
     *
     * @param fiber
     */
    private getNodeElementFromFiber;
}
//# sourceMappingURL=react-finder.d.ts.map