import type { IndexDocumentV1 } from "#ai-utils"; interface BaseTask { name: string; } export interface ComponentTask extends BaseTask { type: "component"; description: string; relevantFiles: string[]; relatedComponents: string[]; designSystemPackage?: string; designSystemVersion?: string; hash: string; } export interface TokenTask extends BaseTask { type: "token"; relevantFiles: string[]; tokens: string[]; /** Map of token name to its default value (e.g., "--spacing-1": "4px") */ tokenValues?: Record; hash: string; } export interface IconTask extends BaseTask { type: "icon"; } export interface InstallationTask extends BaseTask { type: "installation"; relevantFiles: string[]; hash: string; } export type Task = ComponentTask | TokenTask | IconTask | InstallationTask; export interface IndexingResults { componentsToCheck: Task[]; storedComponentDocs: IndexDocumentV1[]; source: "custom" | "auto"; specificComponentNames?: string[]; summaryData?: { indexedComponents: ComponentTask[]; discoveredComponents: ComponentTask[]; failedComponents: string[]; failedTokens: string[]; numIconsIndexed: number; discoveredTokenGroups: TokenTask[]; tokenGroupsToIndex: TokenTask[]; }; } export {};