/**
 * SKILL.md self-scan scanner.
 * Applies detection rules against SKILL.md content and bash code blocks.
 */
import { SkillSecurityRule } from './rules.js';
export interface SkillFinding {
    /** Rule identifier (e.g., "CREDENTIALS_UNSAFE") */
    ruleId: string;
    /** Finding category */
    category: string;
    /** Severity level */
    severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
    /** Human-readable finding description */
    message: string;
    /** Suggested fix */
    suggestedFix: string;
    /** 1-based line number in the original file */
    line: number;
    /** The matched text snippet */
    matchedText: string;
}
export interface SkillScanResult {
    /**
     * Exit code:
     *   0 = pass (no findings)
     *   1 = concerns (medium or low only)
     *   2 = fail (critical or high)
     */
    exitCode: 0 | 1 | 2;
    /** Whether the scan passed (no critical/high findings) */
    passed: boolean;
    /** All findings */
    findings: SkillFinding[];
}
/**
 * Scan SKILL.md content using structured detection rules.
 * Rules marked `codeBlockOnly: true` only apply inside bash code blocks.
 * Other rules apply to the full markdown content.
 */
export declare function scanSkillMd(content: string, rules?: SkillSecurityRule[]): SkillScanResult;
//# sourceMappingURL=scanner.d.ts.map