export interface TreeNodeItem<T = any> {
    id: string | number;
    label: string;
    icon?: string;
    checked?: boolean | null;
    isExpanded?: boolean;
    payload?: T;
    children?: TreeNodeItem<T>[];
    editable?: boolean;
    leaf?: boolean;
    expandedIcon?: string;
    collapsedIcon?: string;
}
export interface InternalTreeNodeItem<T = any> extends TreeNodeItem<T> {
    isEditing?: boolean;
    editPreviousValue?: string;
    editNewValue?: string;
}
export type TreeNodeEdit = {
    /**
     * Function to revert the changes made during the edit action.
     * This function should restore the previous state of the item.
     */
    revertAction: () => void;
    item: TreeNodeItem;
    previousValue: string;
    newValue: string;
};
