/// <reference types="react" />
import type { Node as TreeNode, TreeNodeId, TreeProps } from '../../Tree/Tree.types';
export interface TreeSourceRef {
    /**
     * @since 10.19.0
     */
    setExpandedNodes: (expanded: TreeNodeId[]) => void;
    /**
     * @since 10.19.0
     */
    setValue: <Node extends TreeNode = TreeNode>(nodes: Node[]) => void;
}
export interface FileTreeProps extends Pick<TreeProps<TreeNode>, 'options' | 'getRoot' | 'getChildren' | 'getLabel' | 'getParentId' | 'getType' | 'isSelectable' | 'isExpandable' | 'onExpand' | 'expanded'> {
    /**
     * Callback function fired with currently selected array of nodes.
     * ```
     * (nodes: TreeDefaultNode[]) => void
     * ```
     * @since 10.19.0
     */
    onChange?: (nodes: TreeNode[]) => void;
    /**
     * @since 10.19.0
     */
    sourceId: string;
    /**
     * @since 10.19.0
     */
    title: string;
    /**
     * @deprecated String icon variant is deprecated, use the React components
     * directly from the `@procore/core-icons/dist` package
     * @since 10.19.0
     */
    icon: React.ReactNode;
    /**
     * Show/Hide loading indicator of the content
     * @since 10.19.0
     */
    isLoading?: boolean;
}
