import type { IPageToDeleteWithMeta } from '@growi/core'; import type { IPageForItem } from '~/interfaces/page'; import type { IPageForPageDuplicateModal } from '~/stores/modal'; import type { ItemNode } from '../ItemNode'; type TreeItemBaseProps = { itemLevel?: number, itemNode: ItemNode, isEnableActions: boolean, isReadOnlyUser: boolean, onClickDuplicateMenuItem?(pageToDuplicate: IPageForPageDuplicateModal): void, onClickDeleteMenuItem?(pageToDelete: IPageToDeleteWithMeta): void, onRenamed?(fromPath: string | undefined, toPath: string): void, } export type TreeItemToolProps = TreeItemBaseProps & { stateHandlers?: { setIsOpen: React.Dispatch>, }, }; export type TreeItemProps = TreeItemBaseProps & { targetPath: string, targetPathOrId?:string, isOpen?: boolean, isWipPageShown?: boolean, itemClass?: React.FunctionComponent, itemClassName?: string, customEndComponents?: Array>, customHoveredEndComponents?: Array>, customHeadOfChildrenComponents?: Array>, showAlternativeContent?: boolean, customAlternativeComponents?: Array>, onClick?(page: IPageForItem): void, onWheelClick?(page: IPageForItem): void, };