import { z } from 'zod'; export declare const ToolIntegrationConfigSchema: z.ZodRecord>; export declare const BadgeVerificationResultSchema: z.ZodObject<{ valid: z.ZodBoolean; errors: z.ZodArray; warnings: z.ZodArray; }, "strip", z.ZodTypeAny, { valid: boolean; warnings: string[]; errors: string[]; }, { valid: boolean; warnings: string[]; errors: string[]; }>; export type ToolIntegrationConfig = z.infer; export type BadgeVerificationResult = z.infer; export declare const DEFAULT_TOOL_INTEGRATIONS: ToolIntegrationConfig; export interface ExtractedBadge { rawUrl: string; altText: string; label: string; message: string; linkTarget?: string; file: string; lineNumber: number; } /** * Extract shields.io badges from added (`+`) lines of a unified diff, * filtered to `README.md` only. Stateless — recomputes from diff each * invocation (ADR-083: no SHA-stamped flag files). */ export declare function extractBadgesFromDiff(diff: string): ExtractedBadge[]; /** * Predicate used by `verifyToolClaims` to determine whether a tool-integration * file/directory exists at the given absolute path. Injectable for tests; * production callers pass `fs.existsSync` (the default). */ export type PathExistsPredicate = (absolutePath: string) => boolean; /** * For each badge, check whether any tool name from `config` appears in the * decoded label or message (case-insensitive, word-boundary match). For every * matched tool, require that at least one of its configured paths exists in * `repoRoot`. Missing tools become errors. * * Falsifying metric: existence of at least one config-listed path satisfies * the badge's tool-integration claim. */ export declare function verifyToolClaims(badges: ExtractedBadge[], config: ToolIntegrationConfig, repoRoot: string, exists?: PathExistsPredicate): string[]; /** * Flag standard-claim badges (AGENTS.md, MIT, Apache 2.0, etc.) whose link * target points at internal repo paths instead of the canonical upstream * standard. This is the failure class from mmnto-ai/totem#1925 R2. * * Standard claims are recognized in EITHER the label or the message position * to catch both `[![AGENTS.md](.../AGENTS.md-compliant-...)](./AGENTS.md)` and * `[![Tool-agnostic](.../Tool--agnostic-AGENTS.md-...)](./AGENTS.md)`. */ export declare function verifySelfReferenceLinks(badges: ExtractedBadge[]): string[]; //# sourceMappingURL=badge-verifier.d.ts.map