import type { Project } from "@uxloom/journeygraph"; /** How a tier-2 marker was written in source. All forms carry equal weight. */ export type MarkerForm = "attribute" | "comment" | "identifier"; export interface Evidence { tier: 1 | 2; kind: "registry-map" | "marker-screen" | "marker-state"; screen: string; state?: string; file: string; line?: number; form?: MarkerForm; } export interface StateVerdict { screen: string; state: string; verdict: "implemented" | "unimplemented" | "unproven"; evidence?: string; } export interface AuditFinding { code: "screen-unmapped" | "state-unimplemented" | "state-unproven" | "state-marker-thin" | "state-marker-duplicate" | "state-marker-static"; severity: "error" | "warning"; screen?: string; state?: string; file?: string; line?: number; message: string; fix: string; } export interface AuditResult { verdicts: StateVerdict[]; findings: AuditFinding[]; summary: { screens: number; states: number; implemented: number; unimplemented: number; unproven: number; unmappedScreens: string[]; markerAdoption: number; }; } /** Minimal glob -> RegExp: supports **, *, and literal path segments. */ export declare function globToRegExp(glob: string): RegExp; export declare function runAudit(project: Project, root: string, map?: Record): AuditResult; /** Load the optional registry file. */ export declare function loadMap(path: string): Record;