import type { CompatibilityResult, Target } from './types.js'; /** * Options for {@link analyzeCompatibility}. */ export interface AnalyzeCompatibilityOptions { /** * Config-layer declared targets, typically drawn from * `vibe-agent-toolkit.config.yaml` (`skills.defaults.targets` plus any * per-skill `skills.config..targets`). These are considered only * when the plugin.json and marketplace.json do not declare targets — * see {@link resolveEffectiveTargets} for the precedence rules. * * When omitted, only plugin.json / marketplace.json targets are used and * behavior matches the pre-options call signature. */ configTargets?: Target[]; } /** * Analyze a Claude plugin directory for compatibility across all target surfaces. * * Walks the plugin directory, runs relevant scanners on each file, * derives capability observations from raw evidence, and computes * COMPAT_TARGET_* verdicts via the verdict engine using the effective * declared targets (plugin.json → marketplace.json → config layer). * * @param pluginDir - Absolute path to the plugin root directory * @param options - Optional analysis options; see {@link AnalyzeCompatibilityOptions}. * `options.configTargets` lets callers thread a config-layer target declaration * through to the verdict engine — plugin.json / marketplace.json targets still * win when present. * @returns CompatibilityResult with evidence, observations, verdicts, and counts * @throws If the directory does not contain a valid .claude-plugin/plugin.json */ export declare function analyzeCompatibility(pluginDir: string, options?: AnalyzeCompatibilityOptions): Promise; //# sourceMappingURL=compatibility-analyzer.d.ts.map