/// import { getHelper } from './helper'; export declare type NodePos = number[]; export declare const FIELD_NAMES: { title: string; key: string; children: string; }; export declare type NodeLike = Record[]> & T; export interface IRootScope { $root: NodeLike; $refs: Map>; $fieldNames: typeof FIELD_NAMES; $helper: ReturnType; } export interface INodeScope { $root: NodeLike; $pos: number[]; $record: NodeLike & Pick, '$lookup' | '$index'>; $lookup: INodeScope['$record'] | NodeLike; $records: NodeLike[]; $index: number; $parents: NodeLike[]; $path?: string; $extra?: Record & { expanded?: boolean; checked?: boolean; selected?: boolean; halfChecked?: boolean; }; } export declare const useRoot: () => IRootScope | null; export declare const useHelper: () => { readonly dataSource: any[] | undefined; take(x: any): { key: import("react").Key | undefined; title: string | undefined; children: any[] | undefined; }; getPos(n: object): any; posToParents(pos: import("./helper").NodePos): any[]; posToPath(pos: import("./helper").NodePos): string | undefined; getNodeAtPos(pos: import("./helper").NodePos | null): object | null; append(pos: import("./helper").NodePos, method?: "replace" | "push" | "unshift", ...nodes: object[]): void; copy(pos: import("./helper").NodePos, neo?: object | undefined): void; remove(pos: import("./helper").NodePos): void; move(before: import("./helper").NodePos, after: import("./helper").NodePos): void; } | undefined; export declare const useNode: (keyOrPos?: React.Key | NodePos) => INodeScope | null | undefined; export declare const RootScope: (props: import("react").PropsWithChildren<{ getRoot: () => NodeLike; fieldNames?: Partial<{ title: string; key: string; children: string; }> | undefined; }>) => import("react").JSX.Element; export declare const NodeScope: (props: import("react").PropsWithChildren<{ getPos: (root: NodeLike) => NodePos; getNode?: ((root: NodeLike) => NodeLike) | undefined; getExtra?: ((root: NodeLike) => (Record & { expanded?: boolean | undefined; checked?: boolean | undefined; selected?: boolean | undefined; halfChecked?: boolean | undefined; }) | undefined) | undefined; }>) => import("react").JSX.Element;