import type { PanelContextValue } from '@principal-ade/panel-framework-core'; import type { SkillsPanelContext } from '../../../types'; export type SkillSource = 'project-universal' | 'global-universal' | 'project-claude' | 'global-claude' | 'project-other'; export interface SkillMetadata { installedFrom?: string; skillPath?: string; owner?: string; repo?: string; branch?: string; installedAt?: string; destination?: string; sha?: string; files?: string[]; } export interface SkillInstallation { path: string; source: SkillSource; priority: 1 | 2 | 3 | 4 | 5; skillFolderPath: string; metadata?: SkillMetadata; } export interface FrontmatterValidation { isValid: boolean; hasStructure: boolean; missingFields: string[]; errorMessage?: string; } export interface Skill { id: string; name: string; path: string; description?: string; content?: string; capabilities?: string[]; skillFolderPath: string; hasScripts: boolean; hasReferences: boolean; hasAssets: boolean; scriptFiles?: string[]; referenceFiles?: string[]; assetFiles?: string[]; source: SkillSource; priority: 1 | 2 | 3 | 4 | 5; metadata?: SkillMetadata; installedLocations?: SkillInstallation[]; frontmatterValidation: FrontmatterValidation; } /** * Global skills data provided by the host application */ export interface GlobalSkillsSlice { skills: Skill[]; } interface UseSkillsDataParams { context: PanelContextValue; } interface UseSkillsDataReturn { skills: Skill[]; isLoading: boolean; error: string | null; refreshSkills: () => Promise; } /** * Hook to discover and read SKILL.md files from the file tree */ export declare const useSkillsData: ({ context, }: UseSkillsDataParams) => UseSkillsDataReturn; export {}; //# sourceMappingURL=useSkillsData.d.ts.map