import type { SyncFunctionComponent } from '../../../types/SyncFunctionComponent';
import type { TreeListData } from '../../types';
import type { TreeListItemValue } from '../types';
type FormatDisableItem = {
    id: string;
    disabledReason?: string;
};
export type TreeItemProps<TValue extends TreeListItemValue = string> = {
    item: TreeListData;
    /**
     * Выбранные значения
     */
    value?: TValue | null;
    isObjectMode?: boolean;
    /**
     * Уникальный префикс для идентификаторов в рамках дерева
     */
    prefixId?: string;
    /**
     * Render-props, позволяет более гибко настраивать содержимое item
     */
    renderItem?: SyncFunctionComponent<Omit<TreeListData, 'children'>>;
    /**
     * Уровень вложенности в дереве
     */
    level: number;
    /**
     * Если true, то дерево будет раскрыто по умолчанию при монтировании
     * @default false
     */
    isInitialExpanded?: boolean;
    /**
     * Уровень раскрытия дерева по умолчанию, при isExpanded=true
     */
    expandedLevel: number;
    /**
     * Цепочка идентификаторов до выбранного элемента дерева
     */
    chainToSelectedItem?: string[];
    /**
     * Список `value` элементов дерева, которые не доступны для взаимодействия
     */
    disabledItems?: FormatDisableItem[];
    /**
     * Функция, которая запускается при выборе item
     */
    onChange?: (value: TValue) => void;
};
export {};
