/** * SkillMarkdown component for rendering Agent Skills (SKILL.md files) * Parses frontmatter and renders skill metadata with markdown body */ import { Theme } from '@principal-ade/industry-theme'; import { type PartialParsedSkill, type ValidationWarning } from '@principal-ade/markdown-utils'; import React from 'react'; import type { Skill } from '../hooks/useSkillsData'; import type { PanelActions, PanelEventEmitter } from '../../../types'; export interface SkillStructure { hasScripts?: boolean; hasReferences?: boolean; hasAssets?: boolean; scriptFiles?: string[]; referenceFiles?: string[]; assetFiles?: string[]; } export interface SkillMarkdownProps { /** Raw SKILL.md content with frontmatter */ content: string; /** Theme object for styling */ theme: Theme; /** Optional class name for styling */ className?: string; /** Optional callback when skill is parsed */ onParsed?: (skill: PartialParsedSkill) => void; /** Optional callback when parsing has warnings */ onWarnings?: (warnings: ValidationWarning[]) => void; /** Show raw content on parse error instead of error message */ showRawOnError?: boolean; /** Container width to pass to IndustryMarkdownSlide (skips ResizeObserver if provided) */ containerWidth?: number; /** Optional skill structure information (scripts, references, assets) */ structure?: SkillStructure; /** Optional full skill object for displaying installation locations */ skill?: Skill; /** Optional panel actions for file operations */ actions?: PanelActions; /** Optional event emitter for panel communication */ events?: PanelEventEmitter; /** Install button configuration */ installConfig?: { /** Whether the skill is currently installed */ isInstalled: boolean; /** Whether an update is available (installed SHA differs from current SHA) */ hasUpdate?: boolean; /** Directory IDs where the skill is installed */ installedDirectoryIds?: string[]; /** GitHub source information for the skill */ githubSource?: { owner: string; repo: string; branch: string; skillPath: string; currentSha?: string; }; /** Callback when install button is clicked */ onInstall: () => void; /** Optional callback when uninstall is requested */ onUninstall?: () => void; }; /** Hide the Edit and MDX Editor buttons (default: false) */ hideEditButtons?: boolean; } /** * SkillMarkdown component * * Renders Agent Skills markdown with frontmatter parsing * * @example * ```tsx * console.log('Parsed:', skill.metadata.name)} * /> * ``` */ export declare const SkillMarkdown: React.FC; export default SkillMarkdown; //# sourceMappingURL=SkillMarkdown.d.ts.map