import { IconName } from '@grafana/ui'; import { ComponentType } from 'react'; export interface BaseItemData { name: string; text: string; } export interface UnknownItemData extends BaseItemData { } export type ItemDataType = 'unknown' | 'datasource' | 'label_name' | 'label_value' | 'dashboard' | 'dashboard_folder' | 'structured' | 'component' | 'entity' | 'skill'; export interface ContextItemData { type: ItemDataType; codeElementIds?: string[]; /** * When true, bypasses size limits for fixed-size content. * @default false */ bypassLimits?: boolean; data: Record; } export interface TreeNode { id: string; name: string; children?: TreeNode[]; title?: string; navigable: boolean; selectable?: boolean; img?: string; icon?: IconName; data?: any; } export interface DatasourceItemData extends BaseItemData { uid: string; type: string; img?: string; } export interface LabelNameItemData extends BaseItemData { datasourceUid: string; datasourceType: string; datasourceName: string; labelName: string; img?: string; } export interface LabelValueItemData extends LabelNameItemData { labelValue: string; /** Filter operator (defaults to '=' if not specified) */ operator?: string; } export interface DashboardItemData extends BaseItemData { dashboardUid: string; dashboardTitle: string; folderUid?: string; folderTitle?: string; } export interface FolderItemData extends BaseItemData { folderUid: string; folderTitle: string; } export interface ComponentItemData extends BaseItemData { components: Record>; prompt: string; namespace: string; } export interface EntityItemData extends BaseItemData { type: string; scope?: { env?: string; site?: string; namespace?: string; }; properties?: Record; } export interface SkillItemData extends BaseItemData { skillId: string; skillName: string; } export interface ChatContextItem { node: TreeNode; occurrences: string[]; } //# sourceMappingURL=types.d.ts.map