import type { UmbElementVariantState } from '../variant-state.js'; import type { UmbElementEntityType, UmbElementRootEntityType, UmbElementFolderEntityType } from '../entity.js'; import type { UmbEntityFlag, UmbEntityWithFlags } from '../../core/entity-flag/index.js'; import type { UmbReferenceByUnique } from '../../core/models/index.js'; import type { UmbTreeChildrenOfRequestArgs, UmbTreeItemModel, UmbTreeRootItemsRequestArgs, UmbTreeRootModel } from '../../core/tree/index.js'; export type { UmbElementTreeItemContext } from './element-tree-item.context.js'; export type { UmbElementTreeRepository } from './element-tree.repository.js'; export interface UmbElementTreeItemModel extends Omit, UmbEntityWithFlags { entityType: UmbElementEntityType | UmbElementFolderEntityType; isTrashed: boolean; noAccess: boolean; documentType: { unique: string; icon: string; collection: UmbReferenceByUnique | null; }; createDate: string; variants: Array; } export interface UmbElementTreeRootModel extends UmbTreeRootModel { entityType: UmbElementRootEntityType; } export interface UmbElementTreeItemVariantModel { name: string; culture: string | null; segment: string | null; state: UmbElementVariantState; flags: Array; } export interface UmbElementTreeRootItemsRequestArgs extends UmbTreeRootItemsRequestArgs { dataType?: { unique: string; }; } export interface UmbElementTreeChildrenOfRequestArgs extends UmbTreeChildrenOfRequestArgs { dataType?: { unique: string; }; }