import { SectionTaxonomyOverrides } from "../config/skill-sections.js";

//#region services/skill-validator.d.ts
interface ValidationResult {
  valid: boolean;
  violations: string[];
}
/**
 * Case-insensitive PEM private-key block detector.
 * Shared with generated-skill-validation.ts and procedure-promotion-policy.ts (Issue #1382).
 * Character class includes digits and allows trailing words (e.g. "BLOCK" in PGP markers).
 * Matches: -----BEGIN PRIVATE KEY-----, -----BEGIN RSA PRIVATE KEY-----,
 *          -----BEGIN PGP PRIVATE KEY BLOCK-----, -----begin private key-----, etc.
 */
/**
 * Build a regex that matches real-looking email addresses while excluding placeholder domains.
 * Domain entries are regex-escaped so arbitrary strings are safe to pass.
 * If the allow-list is empty, returns a pattern that flags all valid-looking email addresses.
 * @param allowList - domains to treat as safe placeholders (default: {@link DEFAULT_PLACEHOLDER_EMAIL_DOMAINS})
 */
declare function buildNonPlaceholderEmailPattern(allowList: string[]): RegExp;
declare class SkillValidator {
  private readonly privateContextPatterns;
  private readonly sectionTaxonomyOverrides?;
  /**
   * @param options.emailPattern - custom non-placeholder email regex; defaults to
   *   {@link NON_PLACEHOLDER_EMAIL_PATTERN}. Build with {@link buildNonPlaceholderEmailPattern}.
   * @param options.sectionTaxonomyOverrides - optional per-category section taxonomy overrides
   *   (passed through from CrystallizationProposer; Issue #1408).
   */
  constructor(options?: {
    emailPattern?: RegExp;
    sectionTaxonomyOverrides?: SectionTaxonomyOverrides;
  });
  /**
   * Validate generated SKILL.md content for:
   * - security violations (deny rules inside code blocks)
   * - required structure/sections for reusable workflows
   * - anti-log-dumping guardrails (transcript/log blobs)
   */
  validate(skillContent: string): ValidationResult;
  /**
   * Quick check: returns true if content passes validation.
   */
  isValid(skillContent: string): boolean;
}
//#endregion
export { SkillValidator, buildNonPlaceholderEmailPattern };
//# sourceMappingURL=skill-validator.d.ts.map