/// <reference types="react" />
export declare function getColumnsAndPaths<T extends Record<string, unknown>>(data: T[], value: any, options: any): {
    columns: T[][];
    paths: T[];
};
declare type UsePathsParams<T> = {
    data: T[];
    valueKey: string;
    childrenKey: string;
    value: unknown;
};
export declare function usePaths<T extends Record<string, unknown>>(params: UsePathsParams<T>): {
    enforceUpdate: (nextValue: any, isAttachChildren?: boolean) => void;
    columnData: T[][];
    valueToPaths: T[];
    selectedPaths: T[];
    setValueToPaths: import("react").Dispatch<import("react").SetStateAction<T[]>>;
    setColumnData: import("react").Dispatch<import("react").SetStateAction<T[][]>>;
    setSelectedPaths: import("react").Dispatch<import("react").SetStateAction<T[]>>;
    addColumn: (column: T[], index: number) => void;
    romoveColumnByIndex: (index: number) => void;
};
export {};
