import { z } from 'zod'; declare const ConfidenceCutoffsSchema: z.ZodObject<{ assert: z.ZodNumber; question: z.ZodNumber; }, z.core.$strict>; type ConfidenceCutoffs = z.infer; declare const SeverityCutoffsSchema: z.ZodObject<{ P0: z.ZodNumber; P1: z.ZodNumber; P2: z.ZodNumber; P3: z.ZodNumber; }, z.core.$strict>; type SeverityCutoffs = z.infer; declare const FindingsPolicySchema: z.ZodObject<{ confidenceCutoffs: z.ZodObject<{ assert: z.ZodNumber; question: z.ZodNumber; }, z.core.$strict>; severityCutoffs: z.ZodObject<{ P0: z.ZodNumber; P1: z.ZodNumber; P2: z.ZodNumber; P3: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>; type FindingsPolicy = z.infer; declare const DEFAULT_FINDINGS_POLICY: { confidenceCutoffs: { assert: number; question: number; }; severityCutoffs: { P0: number; P1: number; P2: number; P3: number; }; }; declare const DepthSchema: z.ZodUnion, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>; type Depth = z.infer; declare const PresetSchema: z.ZodEnum<{ custom: "custom"; quick: "quick"; mvp: "mvp"; standard: "standard"; deep: "deep"; "accessibility-first": "accessibility-first"; "agent-ready": "agent-ready"; "conversion-focused": "conversion-focused"; "design-system-focused": "design-system-focused"; }>; type Preset = z.infer; declare const AppTypeSchema: z.ZodEnum<{ generic: "generic"; "saas-dashboard": "saas-dashboard"; "e-commerce": "e-commerce"; marketing: "marketing"; admin: "admin"; "content-media": "content-media"; }>; type AppType = z.infer; declare const StackSchema: z.ZodEnum<{ react: "react"; next: "next"; vue: "vue"; svelte: "svelte"; agnostic: "agnostic"; }>; type Stack = z.infer; declare const RedactionRuleSchema: z.ZodObject<{ pattern: z.ZodString; appliesTo: z.ZodArray>; }, z.core.$strict>; type RedactionRule = z.infer; declare const ViewportSchema: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; label: z.ZodEnum<{ mobile: "mobile"; tablet: "tablet"; desktop: "desktop"; }>; }, z.core.$strict>; type Viewport$1 = z.infer; declare const CaptureConfigSchema: z.ZodObject<{ redactionRules: z.ZodArray>; }, z.core.$strict>>; viewports: z.ZodArray; }, z.core.$strict>>; allowlist: z.ZodArray; captureRetention: z.ZodEnum<{ ephemeral: "ephemeral"; retain: "retain"; }>; networkInterception: z.ZodBoolean; }, z.core.$strict>; type CaptureConfig = z.infer; declare const EvaluationConfigSchema: z.ZodObject<{ preset: z.ZodEnum<{ custom: "custom"; quick: "quick"; mvp: "mvp"; standard: "standard"; deep: "deep"; "accessibility-first": "accessibility-first"; "agent-ready": "agent-ready"; "conversion-focused": "conversion-focused"; "design-system-focused": "design-system-focused"; }>; depth: z.ZodUnion, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>; stack: z.ZodArray>; appType: z.ZodOptional>; }, z.core.$strict>; type EvaluationConfig = z.infer; declare const ConfidenceCutoffsLayerSchema: z.ZodObject<{ assert: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>; declare const SeverityCutoffsLayerSchema: z.ZodObject<{ P0: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>; declare const ExportTargetSchema: z.ZodEnum<{ github: "github"; linear: "linear"; jira: "jira"; }>; type ExportTarget = z.infer; declare const GatePolicySchema: z.ZodObject<{ failOnNewMeasuredAtOrAbove: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; thresholds: z.ZodRecord; neverFailOn: z.ZodArray>; }, z.core.$strict>; type GatePolicy$1 = z.infer; declare const ReportingConfigSchema: z.ZodObject<{ integrations: z.ZodArray>; gatePolicy: z.ZodObject<{ failOnNewMeasuredAtOrAbove: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; thresholds: z.ZodRecord; neverFailOn: z.ZodArray>; }, z.core.$strict>; }, z.core.$strict>; type ReportingConfig = z.infer; declare const DirectSubscriptionChannelIdSchema: z.ZodEnum<{ claude: "claude"; codex: "codex"; gemini: "gemini"; }>; type DirectSubscriptionChannelId = z.infer; declare const ModelChannelIdSchema: z.ZodEnum<{ mmr: "mmr"; claude: "claude"; codex: "codex"; gemini: "gemini"; anthropic: "anthropic"; openai: "openai"; local: "local"; grok: "grok"; antigravity: "antigravity"; }>; type ModelChannelId = z.infer; declare const ModelFallbackModeSchema: z.ZodEnum<{ off: "off"; direct: "direct"; mmr: "mmr"; auto: "auto"; }>; type ModelFallbackMode = z.infer; declare const ModelEgressModeSchema: z.ZodEnum<{ off: "off"; text: "text"; "text-and-screenshots": "text-and-screenshots"; }>; type ModelEgressMode = z.infer; declare const ScreenshotEgressPolicySchema: z.ZodEnum<{ blocked: "blocked"; "redacted-only": "redacted-only"; }>; type ScreenshotEgressPolicy = z.infer; declare const ModelEgressPolicySchema: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; text: "text"; "text-and-screenshots": "text-and-screenshots"; }>; screenshots: z.ZodEnum<{ blocked: "blocked"; "redacted-only": "redacted-only"; }>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>; type ModelEgressPolicy = z.infer; declare const DirectSubscriptionChannelPolicyBlockSchema: z.ZodObject<{ channelId: z.ZodEnum<{ claude: "claude"; codex: "codex"; gemini: "gemini"; }>; reason: z.ZodEnum<{ channel_denied_by_policy: "channel_denied_by_policy"; channel_not_allowed_by_policy: "channel_not_allowed_by_policy"; }>; }, z.core.$strict>; type DirectSubscriptionChannelPolicyBlock = z.infer; declare const ModelFallbackConfigSchema: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; direct: "direct"; mmr: "mmr"; auto: "auto"; }>; providerOrder: z.ZodArray>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodBoolean; timeoutMs: z.ZodNumber; depth: z.ZodUnion, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>; effectiveChannels: z.ZodArray>; policyBlockedChannels: z.ZodArray; reason: z.ZodEnum<{ channel_denied_by_policy: "channel_denied_by_policy"; channel_not_allowed_by_policy: "channel_not_allowed_by_policy"; }>; }, z.core.$strict>>; }, z.core.$strict>; type ModelFallbackConfig = z.infer; declare const ModelConfigSchema: z.ZodObject<{ fallback: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; direct: "direct"; mmr: "mmr"; auto: "auto"; }>; providerOrder: z.ZodArray>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodBoolean; timeoutMs: z.ZodNumber; depth: z.ZodUnion, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>; effectiveChannels: z.ZodArray>; policyBlockedChannels: z.ZodArray; reason: z.ZodEnum<{ channel_denied_by_policy: "channel_denied_by_policy"; channel_not_allowed_by_policy: "channel_not_allowed_by_policy"; }>; }, z.core.$strict>>; }, z.core.$strict>; egressPolicy: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; text: "text"; "text-and-screenshots": "text-and-screenshots"; }>; screenshots: z.ZodEnum<{ blocked: "blocked"; "redacted-only": "redacted-only"; }>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>; effectiveEgressPolicy: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; text: "text"; "text-and-screenshots": "text-and-screenshots"; }>; screenshots: z.ZodEnum<{ blocked: "blocked"; "redacted-only": "redacted-only"; }>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>; }, z.core.$strict>; type ModelConfig = z.infer; declare const SurfaceConfigSchema: z.ZodObject<{ capture: z.ZodObject<{ redactionRules: z.ZodArray>; }, z.core.$strict>>; viewports: z.ZodArray; }, z.core.$strict>>; allowlist: z.ZodArray; captureRetention: z.ZodEnum<{ ephemeral: "ephemeral"; retain: "retain"; }>; networkInterception: z.ZodBoolean; }, z.core.$strict>; evaluation: z.ZodObject<{ preset: z.ZodEnum<{ custom: "custom"; quick: "quick"; mvp: "mvp"; standard: "standard"; deep: "deep"; "accessibility-first": "accessibility-first"; "agent-ready": "agent-ready"; "conversion-focused": "conversion-focused"; "design-system-focused": "design-system-focused"; }>; depth: z.ZodUnion, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>; stack: z.ZodArray>; appType: z.ZodOptional>; }, z.core.$strict>; findings: z.ZodObject<{ confidenceCutoffs: z.ZodObject<{ assert: z.ZodNumber; question: z.ZodNumber; }, z.core.$strict>; severityCutoffs: z.ZodObject<{ P0: z.ZodNumber; P1: z.ZodNumber; P2: z.ZodNumber; P3: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>; model: z.ZodObject<{ fallback: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; direct: "direct"; mmr: "mmr"; auto: "auto"; }>; providerOrder: z.ZodArray>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodBoolean; timeoutMs: z.ZodNumber; depth: z.ZodUnion, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>; effectiveChannels: z.ZodArray>; policyBlockedChannels: z.ZodArray; reason: z.ZodEnum<{ channel_denied_by_policy: "channel_denied_by_policy"; channel_not_allowed_by_policy: "channel_not_allowed_by_policy"; }>; }, z.core.$strict>>; }, z.core.$strict>; egressPolicy: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; text: "text"; "text-and-screenshots": "text-and-screenshots"; }>; screenshots: z.ZodEnum<{ blocked: "blocked"; "redacted-only": "redacted-only"; }>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>; effectiveEgressPolicy: z.ZodObject<{ mode: z.ZodEnum<{ off: "off"; text: "text"; "text-and-screenshots": "text-and-screenshots"; }>; screenshots: z.ZodEnum<{ blocked: "blocked"; "redacted-only": "redacted-only"; }>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>; }, z.core.$strict>; reporting: z.ZodObject<{ integrations: z.ZodArray>; gatePolicy: z.ZodObject<{ failOnNewMeasuredAtOrAbove: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; thresholds: z.ZodRecord; neverFailOn: z.ZodArray>; }, z.core.$strict>; }, z.core.$strict>; }, z.core.$strict>; type SurfaceConfig = z.infer; declare const CaptureConfigLayerSchema: z.ZodObject<{ redactionRules: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>; declare const EvaluationConfigLayerSchema: z.ZodObject<{ preset: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>; declare const FindingsPolicyLayerSchema: z.ZodObject<{ confidenceCutoffs: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; declare const GatePolicyLayerSchema: z.ZodObject<{ failOnNewMeasuredAtOrAbove: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>; declare const ReportingConfigLayerSchema: z.ZodObject<{ integrations: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>; declare const ModelFallbackConfigLayerSchema: z.ZodObject<{ mode: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>; declare const ModelEgressPolicyLayerSchema: z.ZodObject<{ mode: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>; declare const ModelConfigLayerSchema: z.ZodObject<{ fallback: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>; declare const SurfaceConfigLayerSchema: z.ZodObject<{ capture: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>>; evaluation: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>>; findings: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; model: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>>; reporting: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>; type SurfaceConfigLayer = z.infer; declare const SurfaceConfigLayersSchema: z.ZodObject<{ defaults: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>>; evaluation: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>>; findings: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; model: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>>; reporting: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; user: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>>; evaluation: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>>; findings: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; model: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>>; reporting: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; project: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>>; evaluation: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>>; findings: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; model: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>>; reporting: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; env: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>>; evaluation: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>>; findings: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; model: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>>; reporting: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; cli: z.ZodOptional>; }, z.core.$strict>>>; viewports: z.ZodOptional; }, z.core.$strict>>>; allowlist: z.ZodOptional>; captureRetention: z.ZodOptional>; networkInterception: z.ZodOptional; }, z.core.$strict>>; evaluation: z.ZodOptional>; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; stack: z.ZodOptional>>; appType: z.ZodOptional>; }, z.core.$strict>>; findings: z.ZodOptional; question: z.ZodOptional; }, z.core.$strict>>; severityCutoffs: z.ZodOptional; P1: z.ZodOptional; P2: z.ZodOptional; P3: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>>; model: z.ZodOptional>; providerOrder: z.ZodOptional>>; allowedChannels: z.ZodOptional>>; fallbackToMmr: z.ZodOptional; timeoutMs: z.ZodOptional; depth: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; }, z.core.$strict>>; egressPolicy: z.ZodOptional>; screenshots: z.ZodOptional>; allowedChannels: z.ZodOptional>>; deniedChannels: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>>; reporting: z.ZodOptional>>; gatePolicy: z.ZodOptional>; thresholds: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>>; }, z.core.$strict>; /** * Ordered partial config layers. Resolution precedence is: * DEFAULT_SURFACE_CONFIG < defaults < user < project < env < cli. */ type SurfaceConfigLayers = z.input; declare const DEFAULT_SURFACE_CONFIG: { capture: { redactionRules: { pattern: string; appliesTo: ("screenshot" | "dom" | "export")[]; }[]; viewports: { width: number; height: number; label: "mobile" | "tablet" | "desktop"; }[]; allowlist: string[]; captureRetention: "ephemeral" | "retain"; networkInterception: boolean; }; evaluation: { preset: "custom" | "quick" | "mvp" | "standard" | "deep" | "accessibility-first" | "agent-ready" | "conversion-focused" | "design-system-focused"; depth: 1 | 4 | 3 | 2 | 5; stack: ("react" | "next" | "vue" | "svelte" | "agnostic")[]; appType?: "generic" | "saas-dashboard" | "e-commerce" | "marketing" | "admin" | "content-media" | undefined; }; findings: { confidenceCutoffs: { assert: number; question: number; }; severityCutoffs: { P0: number; P1: number; P2: number; P3: number; }; }; model: { fallback: { mode: "off" | "direct" | "mmr" | "auto"; providerOrder: ("claude" | "codex" | "gemini")[]; fallbackToMmr: boolean; timeoutMs: number; depth: 1 | 4 | 3 | 2 | 5; effectiveChannels: ("claude" | "codex" | "gemini")[]; policyBlockedChannels: { channelId: "claude" | "codex" | "gemini"; reason: "channel_denied_by_policy" | "channel_not_allowed_by_policy"; }[]; allowedChannels?: ("claude" | "codex" | "gemini")[] | undefined; }; egressPolicy: { mode: "off" | "text" | "text-and-screenshots"; screenshots: "blocked" | "redacted-only"; allowedChannels?: ("mmr" | "claude" | "codex" | "gemini" | "anthropic" | "openai" | "local" | "grok" | "antigravity")[] | undefined; deniedChannels?: ("mmr" | "claude" | "codex" | "gemini" | "anthropic" | "openai" | "local" | "grok" | "antigravity")[] | undefined; }; effectiveEgressPolicy: { mode: "off" | "text" | "text-and-screenshots"; screenshots: "blocked" | "redacted-only"; allowedChannels?: ("mmr" | "claude" | "codex" | "gemini" | "anthropic" | "openai" | "local" | "grok" | "antigravity")[] | undefined; deniedChannels?: ("mmr" | "claude" | "codex" | "gemini" | "anthropic" | "openai" | "local" | "grok" | "antigravity")[] | undefined; }; }; reporting: { integrations: ("github" | "linear" | "jira")[]; gatePolicy: { failOnNewMeasuredAtOrAbove: "P0" | "P1" | "P2" | "P3"; thresholds: Record; neverFailOn: ("judged" | "gatedForHuman")[]; }; }; }; /** * Resolve SurfaceConfig layers with documented precedence. Higher layers replace arrays and * scalars, merge nested objects, and ignore explicit undefined values from optional adapters. * Returned configs are owned mutable data; DEFAULT_SURFACE_CONFIG remains deeply frozen. */ declare function resolveSurfaceConfig(layers?: SurfaceConfigLayers): SurfaceConfig; declare const CliExitCodeSchema: z.ZodUnion, z.ZodLiteral<1>, z.ZodLiteral<2>]>; type CliExitCode = z.infer; declare const SurfaceErrorKindSchema: z.ZodEnum<{ UsageError: "UsageError"; ConfigError: "ConfigError"; CaptureError: "CaptureError"; GroundingError: "GroundingError"; AdapterError: "AdapterError"; ModelError: "ModelError"; IntegrationError: "IntegrationError"; StateError: "StateError"; RuntimeError: "RuntimeError"; McpError: "McpError"; }>; type SurfaceErrorKind = z.infer; declare const SurfaceErrorCodeSchema: z.ZodEnum<{ unknown_step: "unknown_step"; unknown_command: "unknown_command"; unknown_option: "unknown_option"; unknown_lens: "unknown_lens"; unknown_export_target: "unknown_export_target"; no_target: "no_target"; no_decision_flag: "no_decision_flag"; config_invalid: "config_invalid"; policy_invalid: "policy_invalid"; qa_unavailable: "qa_unavailable"; target_not_allowed: "target_not_allowed"; action_policy_denied: "action_policy_denied"; flow_invalid: "flow_invalid"; flow_step_failed: "flow_step_failed"; evidence_unavailable: "evidence_unavailable"; replay_failed: "replay_failed"; promotion_rejected: "promotion_rejected"; capture_unreachable: "capture_unreachable"; auth_injection_failed: "auth_injection_failed"; capture_failed: "capture_failed"; grounding_failed: "grounding_failed"; adapter_failed: "adapter_failed"; model_unavailable: "model_unavailable"; invalid_model_request: "invalid_model_request"; model_request_failed: "model_request_failed"; finding_draft_invalid: "finding_draft_invalid"; finding_score_failed: "finding_score_failed"; backlog_synthesis_failed: "backlog_synthesis_failed"; reconciliation_failed: "reconciliation_failed"; finding_not_found: "finding_not_found"; evidence_missing: "evidence_missing"; invalid_verdict_transition: "invalid_verdict_transition"; run_not_found: "run_not_found"; runs_incomparable: "runs_incomparable"; invalid_run_id: "invalid_run_id"; invalid_resume_stage: "invalid_resume_stage"; validation_run_failed: "validation_run_failed"; step_failed: "step_failed"; pipeline_completion_failed: "pipeline_completion_failed"; export_partial: "export_partial"; export_failed: "export_failed"; state_read_failed: "state_read_failed"; state_write_failed: "state_write_failed"; state_corrupt: "state_corrupt"; baseline_write_failed: "baseline_write_failed"; no_findings_to_baseline: "no_findings_to_baseline"; no_pipeline: "no_pipeline"; mcp_schema_incompatible: "mcp_schema_incompatible"; }>; type SurfaceErrorCode = z.infer; type SurfaceErrorDefinition = { readonly kind: SurfaceErrorKind; readonly exitCode: CliExitCode; }; declare const SURFACE_ERROR_DEFINITIONS: { readonly unknown_step: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly unknown_command: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly unknown_option: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly unknown_lens: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly unknown_export_target: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly no_target: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly no_decision_flag: { readonly kind: "UsageError"; readonly exitCode: 2; }; readonly config_invalid: { readonly kind: "ConfigError"; readonly exitCode: 1; }; readonly policy_invalid: { readonly kind: "ConfigError"; readonly exitCode: 1; }; readonly qa_unavailable: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly target_not_allowed: { readonly kind: "ConfigError"; readonly exitCode: 1; }; readonly action_policy_denied: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly flow_invalid: { readonly kind: "ConfigError"; readonly exitCode: 1; }; readonly flow_step_failed: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly evidence_unavailable: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly replay_failed: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly promotion_rejected: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly capture_unreachable: { readonly kind: "CaptureError"; readonly exitCode: 1; }; readonly auth_injection_failed: { readonly kind: "CaptureError"; readonly exitCode: 1; }; readonly capture_failed: { readonly kind: "CaptureError"; readonly exitCode: 1; }; readonly grounding_failed: { readonly kind: "GroundingError"; readonly exitCode: 1; }; readonly adapter_failed: { readonly kind: "AdapterError"; readonly exitCode: 1; }; readonly model_unavailable: { readonly kind: "ModelError"; readonly exitCode: 1; }; readonly invalid_model_request: { readonly kind: "ModelError"; readonly exitCode: 1; }; readonly model_request_failed: { readonly kind: "ModelError"; readonly exitCode: 1; }; readonly finding_draft_invalid: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly finding_score_failed: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly backlog_synthesis_failed: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly reconciliation_failed: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly finding_not_found: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly evidence_missing: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly invalid_verdict_transition: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly run_not_found: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly runs_incomparable: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly invalid_run_id: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly invalid_resume_stage: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly validation_run_failed: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly step_failed: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly pipeline_completion_failed: { readonly kind: "RuntimeError"; readonly exitCode: 1; }; readonly export_partial: { readonly kind: "IntegrationError"; readonly exitCode: 1; }; readonly export_failed: { readonly kind: "IntegrationError"; readonly exitCode: 1; }; readonly state_read_failed: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly state_write_failed: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly state_corrupt: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly baseline_write_failed: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly no_findings_to_baseline: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly no_pipeline: { readonly kind: "StateError"; readonly exitCode: 1; }; readonly mcp_schema_incompatible: { readonly kind: "McpError"; readonly exitCode: 1; }; }; declare const SurfaceErrorSchema: z.ZodObject<{ kind: z.ZodEnum<{ UsageError: "UsageError"; ConfigError: "ConfigError"; CaptureError: "CaptureError"; GroundingError: "GroundingError"; AdapterError: "AdapterError"; ModelError: "ModelError"; IntegrationError: "IntegrationError"; StateError: "StateError"; RuntimeError: "RuntimeError"; McpError: "McpError"; }>; code: z.ZodEnum<{ unknown_step: "unknown_step"; unknown_command: "unknown_command"; unknown_option: "unknown_option"; unknown_lens: "unknown_lens"; unknown_export_target: "unknown_export_target"; no_target: "no_target"; no_decision_flag: "no_decision_flag"; config_invalid: "config_invalid"; policy_invalid: "policy_invalid"; qa_unavailable: "qa_unavailable"; target_not_allowed: "target_not_allowed"; action_policy_denied: "action_policy_denied"; flow_invalid: "flow_invalid"; flow_step_failed: "flow_step_failed"; evidence_unavailable: "evidence_unavailable"; replay_failed: "replay_failed"; promotion_rejected: "promotion_rejected"; capture_unreachable: "capture_unreachable"; auth_injection_failed: "auth_injection_failed"; capture_failed: "capture_failed"; grounding_failed: "grounding_failed"; adapter_failed: "adapter_failed"; model_unavailable: "model_unavailable"; invalid_model_request: "invalid_model_request"; model_request_failed: "model_request_failed"; finding_draft_invalid: "finding_draft_invalid"; finding_score_failed: "finding_score_failed"; backlog_synthesis_failed: "backlog_synthesis_failed"; reconciliation_failed: "reconciliation_failed"; finding_not_found: "finding_not_found"; evidence_missing: "evidence_missing"; invalid_verdict_transition: "invalid_verdict_transition"; run_not_found: "run_not_found"; runs_incomparable: "runs_incomparable"; invalid_run_id: "invalid_run_id"; invalid_resume_stage: "invalid_resume_stage"; validation_run_failed: "validation_run_failed"; step_failed: "step_failed"; pipeline_completion_failed: "pipeline_completion_failed"; export_partial: "export_partial"; export_failed: "export_failed"; state_read_failed: "state_read_failed"; state_write_failed: "state_write_failed"; state_corrupt: "state_corrupt"; baseline_write_failed: "baseline_write_failed"; no_findings_to_baseline: "no_findings_to_baseline"; no_pipeline: "no_pipeline"; mcp_schema_incompatible: "mcp_schema_incompatible"; }>; message: z.ZodString; cause: z.ZodOptional; details: z.ZodOptional>; }, z.core.$strict>; type SurfaceError = z.infer; type Result = { readonly ok: true; readonly value: T; } | { readonly ok: false; readonly error: E; }; declare function ok(value: T): Result; declare function err(error: E): Result; declare function isOk(result: Result): result is { readonly ok: true; readonly value: T; }; declare function isErr(result: Result): result is { readonly ok: false; readonly error: E; }; type CreateSurfaceErrorOptions = { readonly cause?: unknown; readonly details?: Record; }; declare function createSurfaceError(code: SurfaceErrorCode, message: string, options?: CreateSurfaceErrorOptions): SurfaceError; type EdgeErrorContext = { readonly judgedRequired?: boolean; readonly modelUnavailableIsDegradation?: boolean; }; declare function exitCodeForSurfaceError(error: SurfaceError, context?: EdgeErrorContext): CliExitCode; type CliErrorEnvelope = { readonly ok: false; readonly command: string; readonly schemaVersion: "1.0"; readonly error: { readonly code: SurfaceErrorCode; readonly kind: SurfaceErrorKind; readonly message: string; readonly exitCode: CliExitCode; readonly cause?: unknown; readonly details?: Record; }; }; declare function toCliErrorEnvelope(command: string, error: SurfaceError, context?: EdgeErrorContext): CliErrorEnvelope; type McpStructuredError = { readonly code: SurfaceErrorCode; readonly kind: SurfaceErrorKind; readonly message: string; readonly details?: Record; }; declare function toMcpError(error: SurfaceError): McpStructuredError; declare const EvaluationMethodSchema: z.ZodEnum<{ judged: "judged"; measured: "measured"; }>; type EvaluationMethod = z.infer; declare const SeverityBandSchema: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; type SeverityBand = z.infer; declare const ConfidenceBandSchema: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; type ConfidenceBand = z.infer; declare const RectSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; type Rect = z.infer; declare const ToolResultEvidenceSchema: z.ZodObject<{ kind: z.ZodLiteral<"tool-result">; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>; type ToolResultEvidence = z.infer; declare const DomEvidenceSchema: z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>; type DomEvidence = z.infer; declare const ScreenshotRegionEvidenceSchema: z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>; type ScreenshotRegionEvidence = z.infer; declare const CitedHeuristicEvidenceSchema: z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>; type CitedHeuristicEvidence = z.infer; declare const EvidenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"tool-result">; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">; type Evidence = z.infer; declare const DimensionsSchema: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; type Dimensions = z.infer; declare const LocationSchema: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; type Location = z.infer; declare const ContrastHexSuggestedPatchSchema: z.ZodObject<{ kind: z.ZodLiteral<"contrast-hex">; change: z.ZodString; }, z.core.$strict>; declare const AriaAttributeSuggestedPatchSchema: z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>; declare const TargetSizeSuggestedPatchSchema: z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>; declare const SuggestedPatchSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"contrast-hex">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">; type SuggestedPatch = z.infer; declare const FindingDraftSchema: z.ZodObject<{ draftId: z.ZodString; lens: z.ZodString; issueType: z.ZodString; method: z.ZodEnum<{ judged: "judged"; measured: "measured"; }>; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; rawDimensions: z.ZodObject<{ severity: z.ZodOptional; confidence: z.ZodOptional; effort: z.ZodOptional; userImpact: z.ZodOptional; businessImpact: z.ZodOptional; a11yLegalRisk: z.ZodOptional; evidenceQuality: z.ZodOptional; agentImplementability: z.ZodOptional; }, z.core.$strict>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>; type FindingDraft = z.infer; declare const FindingSchema: z.ZodObject<{ id: z.ZodString; lens: z.ZodString; issueType: z.ZodString; method: z.ZodEnum<{ judged: "judged"; measured: "measured"; }>; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>; type Finding = z.infer; /** * A single backlog row produced from a scored finding. * * Priority is an internal ordering value, not a headline product score. Duplicate * findings remain visible, but rows that match a prior finding by issue type and * precise anchor, or by issue type plus high title-token similarity on precise * anchors, are demoted and point at the highest-priority canonical finding. */ declare const BacklogEntrySchema: z.ZodObject<{ findingId: z.ZodString; title: z.ZodOptional; rationale: z.ZodOptional; severityBand: z.ZodOptional>; location: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>>; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; priority: z.ZodNumber; rank: z.ZodNumber; demotedAsDuplicateOf: z.ZodOptional; }, z.core.$strict>; type BacklogEntry = z.infer; /** * Ordered implementation backlog for a run. * * Entries are ranked in list order by descending priority. The schema rejects * duplicate finding IDs and any extra scalar summary fields such as * `score`/`overallScore`. */ declare const BacklogSchema: z.ZodObject<{ id: z.ZodString; runId: z.ZodString; entries: z.ZodArray; rationale: z.ZodOptional; severityBand: z.ZodOptional>; location: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>>; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; priority: z.ZodNumber; rank: z.ZodNumber; demotedAsDuplicateOf: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; type Backlog = z.infer; /** * Builds the implementation backlog for a run. * * Findings are ranked by severity, user impact, business impact, confidence, * effort, and accessibility/legal risk. Near duplicates are detected within the * same issue type by matching precise anchors or, when both findings have * precise anchors, title-token similarity of at least 0.7. Duplicate chains point * to the highest-priority canonical finding. The returned backlog intentionally * has no scalar `score` or `overallScore` field. */ declare function synthesizeBacklog(runId: string, findings: readonly Finding[]): Result; /** * Converts a validated draft occurrence into the immutable Finding shape used by reports/backlogs. */ declare function scoreFinding(draft: FindingDraft, policy?: FindingsPolicy): Result; declare const FindingsEnvelopeSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<"1.0">; runId: z.ZodString; generatedAt: z.ZodString; findings: z.ZodArray; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>>; degradation: z.ZodObject<{ skippedLenses: z.ZodArray; reason: z.ZodNullable; }, z.core.$strict>; }, z.core.$strict>; type FindingsEnvelope = z.infer; /** Built-in provider ids that core can resolve from environment configuration. */ declare const ModelProviderIdSchema: z.ZodEnum<{ anthropic: "anthropic"; openai: "openai"; local: "local"; }>; type ModelProviderId = z.infer; declare const ModelSourceKindSchema: z.ZodEnum<{ mmr: "mmr"; local: "local"; api: "api"; "subscription-cli": "subscription-cli"; }>; type ModelSourceKind = z.infer; declare const ModelUnavailableReasonSchema: z.ZodEnum<{ "no-model-configured": "no-model-configured"; "missing-credential": "missing-credential"; "missing-base-url": "missing-base-url"; "invalid-provider": "invalid-provider"; "invalid-config": "invalid-config"; "not-installed": "not-installed"; "auth-unavailable": "auth-unavailable"; "unsupported-capability": "unsupported-capability"; timeout: "timeout"; "command-failed": "command-failed"; "parse-failed": "parse-failed"; "prompt-cleanup-failed": "prompt-cleanup-failed"; }>; type ModelUnavailableReason = z.infer; /** Runtime-safe provider configuration; credentialRef names an env var and never stores secrets. */ declare const ModelProviderConfigSchema: z.ZodObject<{ provider: z.ZodEnum<{ anthropic: "anthropic"; openai: "openai"; local: "local"; }>; model: z.ZodString; credentialRef: z.ZodOptional; baseUrl: z.ZodOptional; }, z.core.$strict>; type ModelProviderConfig = z.infer; /** Prompt/input boundary that judged lenses send to a model adapter. */ declare const ModelPromptSchema: z.ZodObject<{ instructions: z.ZodString; input: z.ZodUnknown; system: z.ZodOptional; }, z.core.$strict>; type ModelPrompt = z.infer; /** Model completion request with bounded generation controls. */ declare const ModelRequestSchema: z.ZodObject<{ prompt: z.ZodObject<{ instructions: z.ZodString; input: z.ZodUnknown; system: z.ZodOptional; }, z.core.$strict>; maxOutputTokens: z.ZodOptional; temperature: z.ZodOptional; responseFormat: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; type ModelRequest = z.infer; /** Normalized text response returned by a provider adapter. */ declare const ModelResponseSchema: z.ZodObject<{ provider: z.ZodEnum<{ mmr: "mmr"; claude: "claude"; codex: "codex"; gemini: "gemini"; anthropic: "anthropic"; openai: "openai"; local: "local"; grok: "grok"; antigravity: "antigravity"; }>; channelId: z.ZodEnum<{ mmr: "mmr"; claude: "claude"; codex: "codex"; gemini: "gemini"; anthropic: "anthropic"; openai: "openai"; local: "local"; grok: "grok"; antigravity: "antigravity"; }>; sourceKind: z.ZodEnum<{ mmr: "mmr"; local: "local"; api: "api"; "subscription-cli": "subscription-cli"; }>; model: z.ZodString; text: z.ZodString; }, z.core.$loose>; type ModelResponse = z.infer; declare const ModelAdapterResponseSchema: z.ZodObject<{ provider: z.ZodEnum<{ mmr: "mmr"; claude: "claude"; codex: "codex"; gemini: "gemini"; anthropic: "anthropic"; openai: "openai"; local: "local"; grok: "grok"; antigravity: "antigravity"; }>; channelId: z.ZodOptional>; sourceKind: z.ZodOptional>; model: z.ZodString; text: z.ZodString; }, z.core.$loose>; type ModelAdapterResponse = z.infer; /** Availability result used to skip judged lenses without failing measured coverage. */ declare const ModelAvailabilitySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ available: z.ZodLiteral; provider: z.ZodEnum<{ mmr: "mmr"; claude: "claude"; codex: "codex"; gemini: "gemini"; anthropic: "anthropic"; openai: "openai"; local: "local"; grok: "grok"; antigravity: "antigravity"; }>; channelId: z.ZodEnum<{ mmr: "mmr"; claude: "claude"; codex: "codex"; gemini: "gemini"; anthropic: "anthropic"; openai: "openai"; local: "local"; grok: "grok"; antigravity: "antigravity"; }>; sourceKind: z.ZodEnum<{ mmr: "mmr"; local: "local"; api: "api"; "subscription-cli": "subscription-cli"; }>; model: z.ZodString; }, z.core.$strict>, z.ZodObject<{ available: z.ZodLiteral; reason: z.ZodEnum<{ "no-model-configured": "no-model-configured"; "missing-credential": "missing-credential"; "missing-base-url": "missing-base-url"; "invalid-provider": "invalid-provider"; "invalid-config": "invalid-config"; "not-installed": "not-installed"; "auth-unavailable": "auth-unavailable"; "unsupported-capability": "unsupported-capability"; timeout: "timeout"; "command-failed": "command-failed"; "parse-failed": "parse-failed"; "prompt-cleanup-failed": "prompt-cleanup-failed"; }>; message: z.ZodString; channelId: z.ZodOptional>; sourceKind: z.ZodOptional>; }, z.core.$strict>], "available">; type ModelAvailability = z.infer; /** Per-lens skip metadata reported when judged coverage is unavailable. */ declare const ModelLensSkipSchema: z.ZodObject<{ lensId: z.ZodString; reason: z.ZodLiteral<"model_unavailable">; message: z.ZodString; }, z.core.$strict>; type ModelLensSkip = z.infer; type MaybePromise$1 = T | Promise; /** Interface judged lenses call; implementations must return Result values instead of throwing. */ interface ModelProvider { readonly id?: ModelChannelId; availability(): MaybePromise$1>; complete(request: ModelRequest): MaybePromise$1>; } /** Inputs accepted by the resolver; env defaults to process.env when available. */ type ModelProviderConfigInput = { readonly env?: Readonly>; readonly provider?: string; readonly model?: string; readonly baseUrl?: string; }; /** Result of resolving BYO model configuration from explicit inputs and environment. */ type ModelProviderResolution = { readonly configured: true; readonly config: ModelProviderConfig; } | { readonly configured: false; readonly availability: ModelAvailability; }; /** Adapter implemented by SDK/CLI integrations behind the core provider boundary. */ type ModelCompletionAdapter = (request: ModelRequest, config: ModelProviderConfig) => MaybePromise$1>; /** Canonical no-model degradation message for US-012 reporting. */ declare const JUDGED_COVERAGE_UNAVAILABLE_MESSAGE = "judged coverage unavailable - no model configured"; /** * Resolve provider configuration from explicit input and env. * * Explicit provider wins; otherwise autodetection prefers Anthropic, then OpenAI, then local * endpoints. Invalid or incomplete runtime input returns configured:false instead of throwing. */ declare function resolveModelProviderConfig(input?: ModelProviderConfigInput): ModelProviderResolution; /** * Create a configured provider from validated config and an injected adapter. * * Invalid requests and invalid success responses from adapters are mapped to ModelError Results; * adapter-provided errors are returned as-is. */ declare function createConfiguredModelProvider(config: ModelProviderConfig, complete: ModelCompletionAdapter): ModelProvider; /** * Create a provider that reports unavailable and returns model_unavailable for completion calls. */ declare function createUnavailableModelProvider(availability?: ModelAvailability): ModelProvider; /** Return skip metadata for model-required lenses when availability is false. */ declare function modelSkipForLens(lens: { readonly id: string; readonly requiresModel: boolean; }, availability: ModelAvailability): ModelLensSkip | undefined; declare const ReconciliationUnavailableReasonSchema: z.ZodEnum<{ model_unavailable: "model_unavailable"; channel_unavailable: "channel_unavailable"; }>; type ReconciliationUnavailableReason = z.infer; declare const ReconciliationChannelSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ id: z.ZodString; status: z.ZodLiteral<"available">; findings: z.ZodArray; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; status: z.ZodLiteral<"unavailable">; reason: z.ZodEnum<{ model_unavailable: "model_unavailable"; channel_unavailable: "channel_unavailable"; }>; message: z.ZodString; }, z.core.$strict>], "status">; type ReconciliationChannel = z.infer; declare const ReconciliationInputSchema: z.ZodObject<{ channels: z.ZodArray; findings: z.ZodArray; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ id: z.ZodString; status: z.ZodLiteral<"unavailable">; reason: z.ZodEnum<{ model_unavailable: "model_unavailable"; channel_unavailable: "channel_unavailable"; }>; message: z.ZodString; }, z.core.$strict>], "status">>; }, z.core.$strict>; type ReconciliationInput = z.infer; declare const ReconciledFindingSchema: z.ZodObject<{ canonicalFindingId: z.ZodString; finding: z.ZodObject<{ id: z.ZodString; lens: z.ZodString; issueType: z.ZodString; method: z.ZodEnum<{ judged: "judged"; measured: "measured"; }>; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>; confidence: z.ZodNumber; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; sourceFindingIds: z.ZodArray; supportingChannels: z.ZodArray; }, z.core.$strict>; type ReconciledFinding = z.infer; declare const ReconciliationQuestionSchema: z.ZodObject<{ kind: z.ZodLiteral<"severity-divergence">; groupKey: z.ZodString; prompt: z.ZodString; findingIds: z.ZodArray; channelIds: z.ZodArray; severityBands: z.ZodArray>; }, z.core.$strict>; type ReconciliationQuestion = z.infer; declare const ReconciliationUnavailableChannelSchema: z.ZodObject<{ id: z.ZodString; reason: z.ZodEnum<{ model_unavailable: "model_unavailable"; channel_unavailable: "channel_unavailable"; }>; message: z.ZodString; }, z.core.$strict>; type ReconciliationUnavailableChannel = z.infer; declare const ReconciliationResultSchema: z.ZodObject<{ participatedChannels: z.ZodArray; unavailableChannels: z.ZodArray; message: z.ZodString; }, z.core.$strict>>; findings: z.ZodArray; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>; confidence: z.ZodNumber; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; sourceFindingIds: z.ZodArray; supportingChannels: z.ZodArray; }, z.core.$strict>>; questions: z.ZodArray; groupKey: z.ZodString; prompt: z.ZodString; findingIds: z.ZodArray; channelIds: z.ZodArray; severityBands: z.ZodArray>; }, z.core.$strict>>; }, z.core.$strict>; type ReconciliationResult = z.infer; interface ReconciliationService { reconcile(input: ReconciliationInput): Result; } declare function createReconciliationService(): ReconciliationService; declare function reconcileFindings(input: ReconciliationInput): Result; declare const IdentityAnchorKindSchema: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; type IdentityAnchorKind = z.infer; declare const FindingIdentityCandidateSchema: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; }, z.core.$strict>; type FindingIdentityCandidate = z.infer; declare const FindingIdentitySchema: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; type FindingIdentity = z.infer; declare const StableFindingIdentityAssignmentSchema: z.ZodObject<{ findingId: z.ZodString; status: z.ZodLiteral<"stable">; identity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; reason: z.ZodEnum<{ "stable-anchor": "stable-anchor"; "disambiguated-collision": "disambiguated-collision"; }>; }, z.core.$strict>; type StableFindingIdentityAssignment = z.infer; declare const BrokenFindingIdentityAssignmentSchema: z.ZodObject<{ findingId: z.ZodString; status: z.ZodLiteral<"identity-broken">; candidate: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; }, z.core.$strict>; reason: z.ZodLiteral<"ambiguous-collision">; }, z.core.$strict>; type BrokenFindingIdentityAssignment = z.infer; declare const FindingIdentityAssignmentSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ findingId: z.ZodString; status: z.ZodLiteral<"stable">; identity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; reason: z.ZodEnum<{ "stable-anchor": "stable-anchor"; "disambiguated-collision": "disambiguated-collision"; }>; }, z.core.$strict>, z.ZodObject<{ findingId: z.ZodString; status: z.ZodLiteral<"identity-broken">; candidate: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; }, z.core.$strict>; reason: z.ZodLiteral<"ambiguous-collision">; }, z.core.$strict>], "status">; type FindingIdentityAssignment = z.infer; declare const StableIdentityDriftResultSchema: z.ZodObject<{ currentFindingId: z.ZodString; status: z.ZodLiteral<"stable">; identity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; reason: z.ZodLiteral<"stable-anchor">; }, z.core.$strict>; declare const BrokenIdentityDriftResultSchema: z.ZodObject<{ currentFindingId: z.ZodString; status: z.ZodLiteral<"identity-broken">; previousIdentity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; candidate: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; }, z.core.$strict>; reason: z.ZodLiteral<"anchor-drift">; }, z.core.$strict>; declare const IdentityDriftResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ currentFindingId: z.ZodString; status: z.ZodLiteral<"stable">; identity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; reason: z.ZodLiteral<"stable-anchor">; }, z.core.$strict>, z.ZodObject<{ currentFindingId: z.ZodString; status: z.ZodLiteral<"identity-broken">; previousIdentity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; candidate: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; }, z.core.$strict>; reason: z.ZodLiteral<"anchor-drift">; }, z.core.$strict>], "status">; type IdentityDriftResult = z.infer; declare function canonicalJson(value: unknown, seen?: WeakSet): string; declare function normalizeAnchorForKind(kind: IdentityAnchorKind, value: string): string; declare function stableEvidenceAnchor(evidence: Evidence): Record | undefined; /** * Derives the ADR-010 identity candidate from lens, issue type, and the most stable location * anchor. Element refs win over selectors, selectors win over components, and components win * over file-only anchors. Invalid findings raise ZodError from FindingSchema. The stored lens, * issue type, and anchor values are normalized so display casing/path casing does not change keys. */ declare function deriveFindingIdentityCandidate(finding: Finding): FindingIdentityCandidate; /** * Derives a stable key for a single finding. Use assignFindingIdentities for a full run so * same-anchor collisions can be marked identity-broken. The key is based only on lens, issue * type, and location anchor so wording, evidence, and other mutable details do not churn identity. */ declare function deriveFindingIdentity(finding: Finding): FindingIdentity; /** * Assigns stable identities for a run. * * Findings with unique anchors get stable hashes. Coarse component/file anchors include stable * secondary anchors when location-like evidence is available, so identity does not depend on * whether another same-anchor finding exists in the current run. Same precise-anchor collisions * are marked identity-broken. Same coarse-anchor collisions are disambiguated only when secondary * anchors differ; duplicate secondary anchors are identity-broken because assigning ordinals would * make closed-loop state shift when another indistinguishable finding appears or disappears. * * Example: * assignFindingIdentities(findings).filter((entry) => entry.status === "stable") * returns entries whose identityKey can be used by the closed-loop state machine. */ declare function assignFindingIdentities(findings: readonly Finding[]): FindingIdentityAssignment[]; /** * Compares a previous identity with a current finding occurrence. * * Matching anchors are stable. Any changed anchor is identity-broken, and callers must not infer * resolved/regressed from it. */ declare function matchFindingIdentity(previousIdentity: FindingIdentity, currentFinding: Finding): IdentityDriftResult; declare const identityInternalsForTesting: Readonly<{ canonicalJson: typeof canonicalJson; normalizeAnchorForKind: typeof normalizeAnchorForKind; stableEvidenceAnchor: typeof stableEvidenceAnchor; }>; declare const FindingStatusSchema: z.ZodEnum<{ new: "new"; "still-failing": "still-failing"; resolved: "resolved"; regressed: "regressed"; "identity-broken": "identity-broken"; }>; type FindingStatus = z.infer; declare const GateDispositionSchema: z.ZodEnum<{ active: "active"; "ignored-by-waiver": "ignored-by-waiver"; }>; type GateDisposition = z.infer; declare const WaiverSchema: z.ZodObject<{ findingIdentityKey: z.ZodString; reason: z.ZodString; owner: z.ZodString; expiry: z.ZodOptional; }, z.core.$strict>; type Waiver = Readonly>; declare const BaselineSchema: z.ZodObject<{ baselineId: z.ZodString; identityKeys: z.ZodArray; reason: z.ZodOptional; waivers: z.ZodDefault; }, z.core.$strict>>>; }, z.core.$strict>; type ParsedBaseline = z.infer; type Baseline = Omit, "identityKeys" | "waivers"> & { readonly identityKeys: readonly string[]; readonly waivers: readonly Waiver[]; }; declare const ValidationCheckSchema: z.ZodObject<{ kind: z.ZodEnum<{ "measured-rule": "measured-rule"; "re-evaluate-lens": "re-evaluate-lens"; }>; expectation: z.ZodString; }, z.core.$strict>; type ValidationCheck = z.infer; declare const TrackedFindingHistoryEntrySchema: z.ZodObject<{ runId: z.ZodString; status: z.ZodEnum<{ new: "new"; "still-failing": "still-failing"; resolved: "resolved"; regressed: "regressed"; "identity-broken": "identity-broken"; }>; }, z.core.$loose>; type TrackedFindingHistoryEntry = z.infer; declare const TrackedFindingSchema: z.ZodObject<{ identityKey: z.ZodString; identity: z.ZodObject<{ lens: z.ZodString; issueType: z.ZodString; locationAnchor: z.ZodString; anchorKind: z.ZodEnum<{ component: "component"; file: "file"; selector: "selector"; "element-ref": "element-ref"; }>; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>; currentFindingId: z.ZodOptional; status: z.ZodEnum<{ new: "new"; "still-failing": "still-failing"; resolved: "resolved"; regressed: "regressed"; "identity-broken": "identity-broken"; }>; gateDisposition: z.ZodEnum<{ active: "active"; "ignored-by-waiver": "ignored-by-waiver"; }>; validation: z.ZodObject<{ kind: z.ZodEnum<{ "measured-rule": "measured-rule"; "re-evaluate-lens": "re-evaluate-lens"; }>; expectation: z.ZodString; }, z.core.$strict>; firstSeenRunId: z.ZodString; lastSeenRunId: z.ZodString; history: z.ZodArray; }, z.core.$loose>>; }, z.core.$loose>; type TrackedFinding = z.infer; declare const TrackedFindingTransitionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ runId: z.ZodString; kind: z.ZodLiteral<"detected">; finding: z.ZodObject<{ id: z.ZodString; lens: z.ZodString; issueType: z.ZodString; method: z.ZodEnum<{ judged: "judged"; measured: "measured"; }>; title: z.ZodString; rationale: z.ZodString; citedHeuristics: z.ZodArray; evidence: z.ZodArray; tool: z.ZodEnum<{ axe: "axe"; lighthouse: "lighthouse"; "eslint-jsx-a11y": "eslint-jsx-a11y"; backend: "backend"; "context-ingestor": "context-ingestor"; }>; rule: z.ZodString; measuredValue: z.ZodString; threshold: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"dom">; selector: z.ZodString; elementRef: z.ZodOptional; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"screenshot-region">; artifactId: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"cited-heuristic">; knowledgeEntryId: z.ZodString; }, z.core.$strict>], "kind">>; dimensions: z.ZodObject<{ severity: z.ZodNumber; confidence: z.ZodNumber; effort: z.ZodNumber; userImpact: z.ZodNumber; businessImpact: z.ZodNumber; a11yLegalRisk: z.ZodNumber; evidenceQuality: z.ZodNumber; agentImplementability: z.ZodNumber; }, z.core.$strict>; severityBand: z.ZodEnum<{ P0: "P0"; P1: "P1"; P2: "P2"; P3: "P3"; }>; location: z.ZodObject<{ file: z.ZodOptional; component: z.ZodOptional; selector: z.ZodOptional; elementRef: z.ZodOptional; }, z.core.$strict>; confidenceBand: z.ZodEnum<{ assert: "assert"; "surface-as-question": "surface-as-question"; "suppress-unless-deep": "suppress-unless-deep"; }>; gatedForHuman: z.ZodBoolean; suggestedPatch: z.ZodOptional; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"aria-attribute">; change: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"target-size">; change: z.ZodString; }, z.core.$strict>], "kind">>; tags: z.ZodOptional>; }, z.core.$strict>; identity: z.ZodOptional; discriminator: z.ZodOptional; identityKey: z.ZodString; }, z.core.$strict>>; }, z.core.$strict>, z.ZodObject<{ runId: z.ZodString; kind: z.ZodLiteral<"missing">; validationPassed: z.ZodBoolean; }, z.core.$strict>, z.ZodObject<{ runId: z.ZodString; kind: z.ZodLiteral<"identity-broken">; currentFindingId: z.ZodOptional; }, z.core.$strict>], "kind">; type TrackedFindingTransition = z.infer; type CreateTrackedFindingInput = { readonly runId: string; readonly finding: Finding; readonly identity?: FindingIdentity; readonly validation: ValidationCheck; readonly gateDisposition?: GateDisposition; }; type CreateBaselineInput = { readonly baselineId: string; readonly identityKeys: readonly string[]; readonly reason?: string; readonly waivers?: readonly Waiver[]; }; type ApplyWaiversInput = { readonly trackedFindings: readonly TrackedFinding[]; readonly waivers: readonly Waiver[]; readonly now: Date | string; }; type DiffableTrackedFinding = { readonly currentFindingId?: string | undefined; readonly identityKey: string; readonly status: FindingStatus; }; type TrackedFindingsDiffEntry = { readonly findingId?: string; readonly identityKey: string; readonly status: FindingStatus; }; type TrackedFindingsDiff = { readonly identityBroken: readonly TrackedFindingsDiffEntry[]; readonly introduced: readonly TrackedFindingsDiffEntry[]; readonly regressed: readonly TrackedFindingsDiffEntry[]; readonly resolved: readonly TrackedFindingsDiffEntry[]; readonly stillFailing: readonly TrackedFindingsDiffEntry[]; }; /** * Create the first tracked lifecycle record for a finding identity. * * @param input - Finding, run id, validation check, and optional precomputed identity. * @returns A tracked finding with `new` status and one history entry. * @throws If the finding, validation check, or explicit identity is invalid, or if the explicit * identity does not match the supplied finding. */ declare function createTrackedFinding(input: CreateTrackedFindingInput): TrackedFinding; /** * Apply one lifecycle observation to a tracked finding. * * @param trackedFinding - Existing tracked finding state. * @param transition - Detected, missing, or identity-broken observation for a later run. * @returns Updated tracked finding state with appended history. * @throws If the transition is invalid, reuses a run id, or a detected finding resolves to a * different identityKey than the tracked finding. */ declare function transitionTrackedFinding(trackedFinding: TrackedFinding, transition: TrackedFindingTransition): TrackedFinding; declare function createBaseline(input: CreateBaselineInput): Baseline; declare function applyWaiversToTrackedFindings(input: ApplyWaiversInput): readonly TrackedFinding[]; declare function isWaiverActive(waiver: Waiver, now: Date | string): boolean; declare function diffTrackedFindings(before: readonly DiffableTrackedFinding[], after: readonly DiffableTrackedFinding[]): TrackedFindingsDiff; declare const QaRunIdSchema: z.ZodString; declare const FlowRunIdSchema: z.ZodString; declare const CandidateFindingIdSchema: z.ZodString; declare const CandidateFlowIdSchema: z.ZodString; declare const EvidenceBundleIdSchema: z.ZodString; declare const QaSeveritySchema: z.ZodEnum<{ critical: "critical"; high: "high"; medium: "medium"; low: "low"; }>; type QaSeverity = z.infer; declare const QaStatusSchema: z.ZodEnum<{ completed: "completed"; degraded: "degraded"; failed: "failed"; }>; declare const QaTargetSchema: z.ZodObject<{ kind: z.ZodEnum<{ url: "url"; localhost: "localhost"; route: "route"; screenshot: "screenshot"; component: "component"; dom: "dom"; }>; ref: z.ZodString; theme: z.ZodOptional>; viewport: z.ZodOptional; width: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>; type QaTarget = z.infer; declare const QaDegradationSchema: z.ZodObject<{ code: z.ZodString; details: z.ZodOptional>; message: z.ZodString; scope: z.ZodString; severity: z.ZodDefault>; }, z.core.$strict>; type QaDegradation = z.infer; declare const BrowserLocatorSchema: z.ZodObject<{ label: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>; type BrowserLocator = z.infer; declare const BrowserActionNameSchema: z.ZodEnum<{ type: "type"; check: "check"; capture: "capture"; assert: "assert"; fill: "fill"; open: "open"; pushstate: "pushstate"; click: "click"; dblclick: "dblclick"; hover: "hover"; focus: "focus"; press: "press"; uncheck: "uncheck"; select: "select"; upload: "upload"; scroll: "scroll"; wait: "wait"; setViewport: "setViewport"; setTheme: "setTheme"; }>; type BrowserActionName = z.infer; declare const BrowserActionSchema: z.ZodObject<{ action: z.ZodEnum<{ type: "type"; check: "check"; capture: "capture"; assert: "assert"; fill: "fill"; open: "open"; pushstate: "pushstate"; click: "click"; dblclick: "dblclick"; hover: "hover"; focus: "focus"; press: "press"; uncheck: "uncheck"; select: "select"; upload: "upload"; scroll: "scroll"; wait: "wait"; setViewport: "setViewport"; setTheme: "setTheme"; }>; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>; type BrowserAction = z.infer; declare const BrowserQaFlowStepSchema: z.ZodObject<{ action: z.ZodEnum<{ type: "type"; check: "check"; capture: "capture"; assert: "assert"; fill: "fill"; open: "open"; pushstate: "pushstate"; click: "click"; dblclick: "dblclick"; hover: "hover"; focus: "focus"; press: "press"; uncheck: "uncheck"; select: "select"; upload: "upload"; scroll: "scroll"; wait: "wait"; setViewport: "setViewport"; setTheme: "setTheme"; }>; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; capture: z.ZodOptional>; label: z.ZodOptional; }, z.core.$strict>]>>; expect: z.ZodOptional>; id: z.ZodString; retry: z.ZodOptional>; severity: z.ZodOptional>; timeoutMs: z.ZodOptional; wait: z.ZodOptional>; }, z.core.$strict>; type BrowserQaFlowStep = z.infer; declare const BrowserQaFlowSchema: z.ZodObject<{ actionPolicy: z.ZodOptional>; defaults: z.ZodDefault>; fixtures: z.ZodDefault>>; id: z.ZodString; inputs: z.ZodDefault>; isolation: z.ZodOptional; mode: z.ZodDefault>; mutatesState: z.ZodDefault; resetEndpointId: z.ZodOptional; resetRequired: z.ZodDefault; }, z.core.$strict>>; schemaVersion: z.ZodLiteral<"1.0">; secrets: z.ZodDefault>>; severity: z.ZodDefault>; steps: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; capture: z.ZodOptional>; label: z.ZodOptional; }, z.core.$strict>]>>; expect: z.ZodOptional>; id: z.ZodString; retry: z.ZodOptional>; severity: z.ZodOptional>; timeoutMs: z.ZodOptional; wait: z.ZodOptional>; }, z.core.$strict>>; target: z.ZodOptional; ref: z.ZodString; theme: z.ZodOptional>; viewport: z.ZodOptional; width: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>>; teardown: z.ZodOptional; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; capture: z.ZodOptional>; label: z.ZodOptional; }, z.core.$strict>]>>; expect: z.ZodOptional>; id: z.ZodString; retry: z.ZodOptional>; severity: z.ZodOptional>; timeoutMs: z.ZodOptional; wait: z.ZodOptional>; }, z.core.$strict>>>; }, z.core.$strict>>; title: z.ZodString; }, z.core.$strict>; type BrowserQaFlow = z.infer; declare const ActionPolicyCategorySchema: z.ZodEnum<{ unknown: "unknown"; navigation: "navigation"; upload: "upload"; reveal: "reveal"; form: "form"; submit: "submit"; save: "save"; delete: "delete"; clear: "clear"; payment: "payment"; account: "account"; "externally-visible": "externally-visible"; persistent: "persistent"; }>; type ActionPolicyCategory = z.infer; declare const ActionPolicyRuleSchema: z.ZodObject<{ actions: z.ZodOptional>>; categories: z.ZodOptional>>; decision: z.ZodEnum<{ allow: "allow"; deny: "deny"; }>; id: z.ZodString; locators: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>>; origins: z.ZodOptional>; routes: z.ZodOptional>; }, z.core.$strict>; type ActionPolicyRule = z.infer; declare const ResetEndpointSchema: z.ZodObject<{ id: z.ZodString; method: z.ZodDefault>; origin: z.ZodString; path: z.ZodString; }, z.core.$strict>; type ResetEndpoint = z.infer; declare const FixtureAccountSchema: z.ZodObject<{ fixtureRef: z.ZodOptional; id: z.ZodString; }, z.core.$strict>; type FixtureAccount = z.infer; declare const EnvironmentGroupSchema: z.ZodObject<{ id: z.ZodString; origins: z.ZodArray; }, z.core.$strict>; type EnvironmentGroup = z.infer; declare const ActionPolicySchema: z.ZodObject<{ allowedDomains: z.ZodDefault>; environmentGroups: z.ZodDefault; }, z.core.$strict>>>; fixtureAccounts: z.ZodDefault; id: z.ZodString; }, z.core.$strict>>>; resetEndpoints: z.ZodDefault>; origin: z.ZodString; path: z.ZodString; }, z.core.$strict>>>; rules: z.ZodDefault>>; categories: z.ZodOptional>>; decision: z.ZodEnum<{ allow: "allow"; deny: "deny"; }>; id: z.ZodString; locators: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>>; origins: z.ZodOptional>; routes: z.ZodOptional>; }, z.core.$strict>>>; }, z.core.$strict>; type ActionPolicy = z.infer; declare const ActionPolicyDecisionSchema: z.ZodObject<{ allowed: z.ZodBoolean; category: z.ZodEnum<{ unknown: "unknown"; navigation: "navigation"; upload: "upload"; reveal: "reveal"; form: "form"; submit: "submit"; save: "save"; delete: "delete"; clear: "clear"; payment: "payment"; account: "account"; "externally-visible": "externally-visible"; persistent: "persistent"; }>; code: z.ZodOptional>; matchedRuleId: z.ZodOptional; reason: z.ZodString; }, z.core.$strict>; type ActionPolicyDecision = z.infer; declare const FlowStepResultSchema: z.ZodObject<{ action: z.ZodObject<{ action: z.ZodEnum<{ type: "type"; check: "check"; capture: "capture"; assert: "assert"; fill: "fill"; open: "open"; pushstate: "pushstate"; click: "click"; dblclick: "dblclick"; hover: "hover"; focus: "focus"; press: "press"; uncheck: "uncheck"; select: "select"; upload: "upload"; scroll: "scroll"; wait: "wait"; setViewport: "setViewport"; setTheme: "setTheme"; }>; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>; completedAt: z.ZodOptional; error: z.ZodOptional; evidenceBundleIds: z.ZodDefault>; id: z.ZodString; severity: z.ZodOptional>; startedAt: z.ZodOptional; status: z.ZodEnum<{ degraded: "degraded"; failed: "failed"; skipped: "skipped"; passed: "passed"; }>; }, z.core.$strict>; type FlowStepResult = z.infer; declare const FlowRunSummarySchema: z.ZodObject<{ findingIds: z.ZodOptional>>; flowId: z.ZodString; gateEligible: z.ZodOptional; id: z.ZodString; status: z.ZodEnum<{ degraded: "degraded"; failed: "failed"; passed: "passed"; }>; }, z.core.$strict>; type FlowRunSummary = z.infer; declare const FlowRunSchema: z.ZodObject<{ actionPolicyRef: z.ZodOptional; evidenceBundles: z.ZodArray; findingIds: z.ZodArray; flowId: z.ZodString; gateEligible: z.ZodBoolean; highestFailedSeverity: z.ZodOptional>; id: z.ZodString; isolation: z.ZodObject<{ mode: z.ZodEnum<{ isolated: "isolated"; shared: "shared"; }>; mutatesState: z.ZodBoolean; resetSatisfied: z.ZodBoolean; }, z.core.$strict>; severity: z.ZodEnum<{ critical: "critical"; high: "high"; medium: "medium"; low: "low"; }>; source: z.ZodObject<{ kind: z.ZodEnum<{ file: "file"; "surface-state": "surface-state"; }>; ref: z.ZodString; }, z.core.$strict>; status: z.ZodEnum<{ degraded: "degraded"; failed: "failed"; passed: "passed"; }>; steps: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>; completedAt: z.ZodOptional; error: z.ZodOptional; evidenceBundleIds: z.ZodDefault>; id: z.ZodString; severity: z.ZodOptional>; startedAt: z.ZodOptional; status: z.ZodEnum<{ degraded: "degraded"; failed: "failed"; skipped: "skipped"; passed: "passed"; }>; }, z.core.$strict>>; target: z.ZodObject<{ kind: z.ZodEnum<{ url: "url"; localhost: "localhost"; route: "route"; screenshot: "screenshot"; component: "component"; dom: "dom"; }>; ref: z.ZodString; theme: z.ZodOptional>; viewport: z.ZodOptional; width: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>; }, z.core.$strict>; type FlowRun = z.infer; declare const ExplorationSummarySchema: z.ZodObject<{ candidateFindings: z.ZodNumber; candidateFlows: z.ZodNumber; visitedStates: z.ZodNumber; }, z.core.$strict>; type ExplorationSummary = z.infer; declare const QaRunSchema: z.ZodObject<{ candidateFindings: z.ZodArray; candidateFlows: z.ZodArray; completedAt: z.ZodOptional; degradation: z.ZodArray>; message: z.ZodString; scope: z.ZodString; severity: z.ZodDefault>; }, z.core.$strict>>; evidenceBundles: z.ZodArray; exploration: z.ZodOptional>; findings: z.ZodArray; flowRuns: z.ZodArray>>; flowId: z.ZodString; gateEligible: z.ZodOptional; id: z.ZodString; status: z.ZodEnum<{ degraded: "degraded"; failed: "failed"; passed: "passed"; }>; }, z.core.$strict>>; id: z.ZodString; manifestPath: z.ZodString; mode: z.ZodEnum<{ flow: "flow"; explore: "explore"; hybrid: "hybrid"; }>; startedAt: z.ZodString; status: z.ZodEnum<{ completed: "completed"; degraded: "degraded"; failed: "failed"; }>; target: z.ZodObject<{ kind: z.ZodEnum<{ url: "url"; localhost: "localhost"; route: "route"; screenshot: "screenshot"; component: "component"; dom: "dom"; }>; ref: z.ZodString; theme: z.ZodOptional>; viewport: z.ZodOptional; width: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>; }, z.core.$strict>; type QaRun = z.infer; declare const ExplorationStateSchema: z.ZodObject<{ actionPath: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>>; actionPathHash: z.ZodString; annotatedScreenshotRef: z.ZodOptional; authStatus: z.ZodEnum<{ authenticated: "authenticated"; anonymous: "anonymous"; "auth-drift": "auth-drift"; reauthenticated: "reauthenticated"; }>; consoleSummary: z.ZodOptional>; depth: z.ZodNumber; dialogState: z.ZodOptional; discoveredElements: z.ZodArray>; framePath: z.ZodOptional>; id: z.ZodString; networkSummary: z.ZodOptional>; reauthFlowRef: z.ZodOptional; snapshotRef: z.ZodOptional; stateId: z.ZodString; theme: z.ZodOptional>; title: z.ZodOptional; url: z.ZodString; viewport: z.ZodObject<{ height: z.ZodNumber; label: z.ZodEnum<{ mobile: "mobile"; tablet: "tablet"; desktop: "desktop"; }>; width: z.ZodNumber; }, z.core.$strict>; }, z.core.$strict>; type ExplorationState = z.infer; declare const CandidateFindingSchema: z.ZodObject<{ actionPath: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>>; category: z.ZodEnum<{ accessibility: "accessibility"; visual: "visual"; functional: "functional"; ux: "ux"; content: "content"; performance: "performance"; console: "console"; }>; confidence: z.ZodEnum<{ candidate: "candidate"; replayed: "replayed"; verified: "verified"; }>; evidenceBundleId: z.ZodString; gateEligible: z.ZodBoolean; id: z.ZodString; identityConfidence: z.ZodEnum<{ high: "high"; medium: "medium"; low: "low"; none: "none"; }>; promotion: z.ZodOptional>; promotionSource: z.ZodOptional>; qaRunId: z.ZodString; replayStatus: z.ZodEnum<{ blocked: "blocked"; "not-run": "not-run"; reproduced: "reproduced"; "not-reproduced": "not-reproduced"; "not-replayable": "not-replayable"; }>; replayable: z.ZodBoolean; severity: z.ZodEnum<{ critical: "critical"; high: "high"; medium: "medium"; low: "low"; }>; sourceRunManifestDigest: z.ZodString; title: z.ZodString; }, z.core.$strict>; type CandidateFinding = z.infer; declare const CandidateFlowSchema: z.ZodObject<{ evidenceBundleId: z.ZodOptional; id: z.ZodString; qaRunId: z.ZodString; sourceRunManifestDigest: z.ZodString; steps: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>>; title: z.ZodString; }, z.core.$strict>; type CandidateFlow = z.infer; declare const QaEvidenceArtifactSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ "dom-snapshot": "dom-snapshot"; "annotated-screenshot": "annotated-screenshot"; "step-screenshot": "step-screenshot"; "repro-video": "repro-video"; "browser-snapshot": "browser-snapshot"; "console-log": "console-log"; "network-summary": "network-summary"; har: "har"; "react-tree": "react-tree"; "react-inspect": "react-inspect"; "react-render-profile": "react-render-profile"; vitals: "vitals"; trace: "trace"; }>; mcpReadable: z.ZodBoolean; mediaType: z.ZodString; path: z.ZodString; redacted: z.ZodBoolean; sensitiveRaw: z.ZodBoolean; sha256: z.ZodString; sizeBytes: z.ZodNumber; }, z.core.$strict>; type QaEvidenceArtifact = z.infer; declare const ReproStepSchema: z.ZodObject<{ action: z.ZodObject<{ action: z.ZodEnum<{ type: "type"; check: "check"; capture: "capture"; assert: "assert"; fill: "fill"; open: "open"; pushstate: "pushstate"; click: "click"; dblclick: "dblclick"; hover: "hover"; focus: "focus"; press: "press"; uncheck: "uncheck"; select: "select"; upload: "upload"; scroll: "scroll"; wait: "wait"; setViewport: "setViewport"; setTheme: "setTheme"; }>; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>; index: z.ZodNumber; label: z.ZodString; }, z.core.$strict>; type ReproStep = z.infer; declare const EvidenceBundleSchema: z.ZodObject<{ artifacts: z.ZodArray; mcpReadable: z.ZodBoolean; mediaType: z.ZodString; path: z.ZodString; redacted: z.ZodBoolean; sensitiveRaw: z.ZodBoolean; sha256: z.ZodString; sizeBytes: z.ZodNumber; }, z.core.$strict>>; candidateFindingId: z.ZodOptional; checksums: z.ZodRecord; containsSensitiveRaw: z.ZodBoolean; findingId: z.ZodOptional; id: z.ZodString; manifestPath: z.ZodString; qaRunId: z.ZodString; redacted: z.ZodBoolean; reproSteps: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>; index: z.ZodNumber; label: z.ZodString; }, z.core.$strict>>; sanitizedAtCapture: z.ZodBoolean; sourceCaptureArtifactIds: z.ZodArray; sourceRunManifestDigest: z.ZodString; }, z.core.$strict>; type EvidenceBundle = z.infer; declare const QaRunSidecarSchema: z.ZodObject<{ candidateFindings: z.ZodArray; candidateFlows: z.ZodArray; completedAt: z.ZodOptional; degradation: z.ZodArray>; message: z.ZodString; scope: z.ZodString; severity: z.ZodDefault>; }, z.core.$strict>>; evidenceBundles: z.ZodArray; exploration: z.ZodOptional>; findings: z.ZodArray; flowRuns: z.ZodArray>>; flowId: z.ZodString; gateEligible: z.ZodOptional; id: z.ZodString; status: z.ZodEnum<{ degraded: "degraded"; failed: "failed"; passed: "passed"; }>; }, z.core.$strict>>; id: z.ZodString; manifestPath: z.ZodString; mode: z.ZodEnum<{ flow: "flow"; explore: "explore"; hybrid: "hybrid"; }>; startedAt: z.ZodString; status: z.ZodEnum<{ completed: "completed"; degraded: "degraded"; failed: "failed"; }>; target: z.ZodObject<{ kind: z.ZodEnum<{ url: "url"; localhost: "localhost"; route: "route"; screenshot: "screenshot"; component: "component"; dom: "dom"; }>; ref: z.ZodString; theme: z.ZodOptional>; viewport: z.ZodOptional; width: z.ZodNumber; }, z.core.$strict>>; }, z.core.$strict>; manifestDigest: z.ZodOptional; }, z.core.$strict>; type QaRunSidecar = z.infer; declare const CandidateFindingSidecarSchema: z.ZodObject<{ actionPath: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>>; category: z.ZodEnum<{ accessibility: "accessibility"; visual: "visual"; functional: "functional"; ux: "ux"; content: "content"; performance: "performance"; console: "console"; }>; confidence: z.ZodEnum<{ candidate: "candidate"; replayed: "replayed"; verified: "verified"; }>; evidenceBundleId: z.ZodString; gateEligible: z.ZodBoolean; id: z.ZodString; identityConfidence: z.ZodEnum<{ high: "high"; medium: "medium"; low: "low"; none: "none"; }>; promotion: z.ZodOptional>; promotionSource: z.ZodOptional>; qaRunId: z.ZodString; replayStatus: z.ZodEnum<{ blocked: "blocked"; "not-run": "not-run"; reproduced: "reproduced"; "not-reproduced": "not-reproduced"; "not-replayable": "not-replayable"; }>; replayable: z.ZodBoolean; severity: z.ZodEnum<{ critical: "critical"; high: "high"; medium: "medium"; low: "low"; }>; sourceRunManifestDigest: z.ZodString; title: z.ZodString; sidecarDigest: z.ZodOptional; }, z.core.$strict>; type CandidateFindingSidecar = z.infer; declare const CandidateFlowSidecarSchema: z.ZodObject<{ evidenceBundleId: z.ZodOptional; id: z.ZodString; qaRunId: z.ZodString; sourceRunManifestDigest: z.ZodString; steps: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>>; title: z.ZodString; sidecarDigest: z.ZodOptional; }, z.core.$strict>; type CandidateFlowSidecar = z.infer; declare const EvidenceBundleSidecarSchema: z.ZodObject<{ artifacts: z.ZodArray; mcpReadable: z.ZodBoolean; mediaType: z.ZodString; path: z.ZodString; redacted: z.ZodBoolean; sensitiveRaw: z.ZodBoolean; sha256: z.ZodString; sizeBytes: z.ZodNumber; }, z.core.$strict>>; candidateFindingId: z.ZodOptional; checksums: z.ZodRecord; containsSensitiveRaw: z.ZodBoolean; findingId: z.ZodOptional; id: z.ZodString; manifestPath: z.ZodString; qaRunId: z.ZodString; redacted: z.ZodBoolean; reproSteps: z.ZodArray; locator: z.ZodOptional; name: z.ZodOptional; placeholder: z.ZodOptional; refHint: z.ZodOptional; role: z.ZodOptional; selector: z.ZodOptional; testId: z.ZodOptional; text: z.ZodOptional; }, z.core.$strict>>; url: z.ZodOptional; value: z.ZodOptional; }, z.core.$strict>; index: z.ZodNumber; label: z.ZodString; }, z.core.$strict>>; sanitizedAtCapture: z.ZodBoolean; sourceCaptureArtifactIds: z.ZodArray; sourceRunManifestDigest: z.ZodString; sidecarDigest: z.ZodOptional; }, z.core.$strict>; type EvidenceBundleSidecar = z.infer; declare const PromotedFindingSidecarSchema: z.ZodObject<{ artifactChecksums: z.ZodRecord; candidateFindingId: z.ZodString; evidenceBundleId: z.ZodString; findingId: z.ZodString; promotedAt: z.ZodString; promotionSource: z.ZodEnum<{ replay: "replay"; measurement: "measurement"; "human-verdict": "human-verdict"; }>; qaRunId: z.ZodString; reason: z.ZodString; sourceRunManifestDigest: z.ZodString; }, z.core.$strict>; type PromotedFindingSidecar = z.infer; declare const VerdictDecisionSchema: z.ZodEnum<{ accept: "accept"; reject: "reject"; correct: "correct"; defer: "defer"; }>; type VerdictDecision = z.infer; declare const VerdictReusePolicySchema: z.ZodEnum<{ "this-run": "this-run"; "this-identity-always": "this-identity-always"; }>; type VerdictReusePolicy = z.infer; declare const VerdictSchema: z.ZodObject<{ findingIdentityKey: z.ZodString; findingId: z.ZodString; decision: z.ZodEnum<{ accept: "accept"; reject: "reject"; correct: "correct"; defer: "defer"; }>; rationale: z.ZodString; recordedAt: z.ZodString; reusePolicy: z.ZodEnum<{ "this-run": "this-run"; "this-identity-always": "this-identity-always"; }>; }, z.core.$strict>; type Verdict = z.infer; declare const CandidateVerdictPromotionSchema: z.ZodObject<{ candidateFindingId: z.ZodString; gateEligible: z.ZodLiteral; promotionSource: z.ZodLiteral<"human-verdict">; reason: z.ZodString; recordedAt: z.ZodString; replayEligible: z.ZodLiteral; verdictId: z.ZodOptional; }, z.core.$strict>; type CandidateVerdictPromotion = z.infer; declare const SelfGroundingReportSchema: z.ZodObject<{ sampleSize: z.ZodNumber; measuredGroundTruthCount: z.ZodNumber; judgedFalsePositiveCount: z.ZodNumber; judgedFalsePositiveRate: z.ZodNumber; }, z.core.$strict>; type SelfGroundingReport = z.infer; type CreateVerdictInput = { readonly finding: Finding; readonly decision: VerdictDecision; readonly rationale: string; readonly recordedAt?: string | Date; readonly reusePolicy?: VerdictReusePolicy; }; type CreateCandidateVerdictPromotionInput = { readonly candidate: CandidateFinding; readonly reason: string; readonly recordedAt?: string | Date; readonly verdictId?: string; }; type CreateSelfGroundingReportInput = { readonly findings: readonly Finding[]; readonly verdicts: readonly Verdict[]; }; type ApplyVerdictsToBacklogInput = { readonly backlog: Backlog; readonly verdicts: readonly Verdict[]; }; declare function createVerdict(input: CreateVerdictInput): Result; declare function createCandidateVerdictPromotion(input: CreateCandidateVerdictPromotionInput): Result; declare function createSelfGroundingReport(input: CreateSelfGroundingReportInput): Result; declare function applyVerdictsToBacklog(input: ApplyVerdictsToBacklogInput): Result; type MaybePromise = T | Promise; type ViewportLabel = "mobile" | "tablet" | "desktop"; type Theme = "light" | "dark"; interface Viewport { readonly width: number; readonly height: number; readonly label: ViewportLabel; } type TargetKind = "url" | "localhost" | "route" | "screenshot" | "component" | "dom"; interface Target { readonly kind: TargetKind; readonly ref: string; readonly viewport?: Viewport; readonly theme?: Theme; } type BuiltInCaptureBackendId = "playwright" | "agent-browser" | "static"; declare const CaptureArtifactTypeSchema: z.ZodEnum<{ screenshot: "screenshot"; "dom-snapshot": "dom-snapshot"; "accessibility-tree": "accessibility-tree"; "computed-styles": "computed-styles"; }>; type CaptureArtifactType = z.infer; declare const ArtifactRedactionTextRangeSchema: z.ZodObject<{ start: z.ZodNumber; end: z.ZodNumber; }, z.core.$strict>; type ArtifactRedactionTextRange = z.infer; declare const ArtifactRedactionMetadataSchema: z.ZodObject<{ status: z.ZodLiteral<"redacted">; maskedClasses: z.ZodArray; safeNoSensitiveRegions: z.ZodBoolean; unsafeRegions: z.ZodArray; boundingBoxesVerified: z.ZodOptional; selectorsVerified: z.ZodOptional; textRangesVerified: z.ZodOptional; sensitiveSelectors: z.ZodOptional>; sensitiveTextRanges: z.ZodOptional>>; }, z.core.$strict>; type ArtifactRedactionMetadata = z.infer; declare const CaptureArtifactSchema: z.ZodObject<{ id: z.ZodString; type: z.ZodEnum<{ screenshot: "screenshot"; "dom-snapshot": "dom-snapshot"; "accessibility-tree": "accessibility-tree"; "computed-styles": "computed-styles"; }>; path: z.ZodString; redacted: z.ZodBoolean; redaction: z.ZodOptional; maskedClasses: z.ZodArray; safeNoSensitiveRegions: z.ZodBoolean; unsafeRegions: z.ZodArray; boundingBoxesVerified: z.ZodOptional; selectorsVerified: z.ZodOptional; textRangesVerified: z.ZodOptional; sensitiveSelectors: z.ZodOptional>; sensitiveTextRanges: z.ZodOptional>>; }, z.core.$strict>>; }, z.core.$strict>; interface CaptureArtifact { readonly id: string; readonly type: CaptureArtifactType; readonly path: string; readonly redacted: boolean; readonly redaction?: ArtifactRedactionMetadata; } interface DegradationReport { readonly skippedArtifacts: CaptureArtifactType[]; readonly skippedReason: string; } interface TargetVerification { readonly authInjectedBeforeNavigation: boolean; readonly isRequestedTarget: boolean; readonly landedUrl: string; readonly requestedUrl: string; } type CaptureStatus = "requested" | "completed" | "degraded" | "auth-failed" | "unreachable"; interface Capture { readonly id: string; readonly target: Target; readonly backend: string; readonly authUsed?: boolean; readonly artifacts: CaptureArtifact[]; readonly degradation?: DegradationReport; readonly verification?: TargetVerification; readonly capturedAt: string; readonly status: CaptureStatus; } interface CaptureNetworkPolicy { readonly allowlist: readonly string[]; readonly targetHost: string; readonly targetOrigin: string; readonly resolvedAddresses: readonly string[]; readonly blockPrivateNetwork: boolean; readonly enforceOnNavigation: true; readonly enforceOnRedirects: true; readonly enforceOnSubresources: true; } interface CaptureOptions { readonly config: SurfaceConfig["capture"]; readonly artifactRoot?: string; readonly artifactWriter?: ArtifactWriter; readonly authStateRef?: string; readonly computedStyleLimit?: number; readonly navigationTimeoutMs?: number; readonly navigationWaitUntil?: "domcontentloaded" | "load"; readonly networkPolicy?: CaptureNetworkPolicy; } interface CaptureBackend { readonly id: string; detect(): boolean; observe(target: Target, options: CaptureOptions): MaybePromise>; } interface SourceFileRef { readonly path: string; readonly contents: string; } interface ComponentMapEntry { readonly component: string; readonly file: string; readonly selectors: string[]; } interface ComponentMap { readonly entries: ComponentMapEntry[]; } interface FrameworkAdapter { readonly id: string; supports(file: string): boolean; introspect(source: SourceFileRef): MaybePromise>; } interface ToolResult { readonly tool: string; readonly evidence: ToolResultEvidence[]; } interface GroundingTool { readonly id: string; run(capture: Capture): MaybePromise>; } interface LensContext { readonly capture: Capture; readonly config: SurfaceConfig; readonly evidence: Evidence[]; readonly knowledge: KnowledgeSource; readonly model?: ModelProvider; } interface Lens { readonly id: string; readonly method: EvaluationMethod; readonly requiresModel: boolean; readonly requiresLiveDom: boolean; evaluate(context: LensContext): MaybePromise>; } type BuiltInReportFormat = "findings-md" | "findings-json" | "backlog" | "agent-plan" | "validation-report" | "explain-md" | "explain-json" | "sarif" | "alternatives" | "diff"; type ReportFormat = string; interface Report { readonly format: ReportFormat; readonly bytes: Uint8Array; readonly byteStable: boolean; } interface ReportRenderer { readonly format: ReportFormat; render(findings: readonly Finding[], backlog: Backlog): MaybePromise>; } type GatePolicy = SurfaceConfig["reporting"]["gatePolicy"]; interface GateResult { readonly passed: boolean; readonly failingFindingIds: string[]; readonly exitCode: 0 | 1 | 2; readonly baselineId?: string; } type GateEvaluationContext = { readonly baseline?: Baseline; readonly trackedFindings?: readonly TrackedFinding[]; readonly now?: Date | string; }; interface GateEvaluator { evaluate(findings: readonly Finding[], policy: GatePolicy, context?: GateEvaluationContext): MaybePromise>; } interface LocalBacklogRef { readonly path: string; readonly backlogId: string; } type BuiltInIssueExportTarget = "github" | "linear" | "jira"; type IssueExportTarget = string; interface IssueExport { readonly id: string; readonly target: IssueExportTarget; readonly synced: string[]; readonly unsynced: string[]; readonly status: "complete" | "partial" | "failed"; } interface IssueExporter { readonly target: IssueExportTarget; export(backlog: LocalBacklogRef): MaybePromise>; } declare const KNOWLEDGE_CATEGORIES: readonly ["core-heuristics", "accessibility", "forms", "navigation", "states", "visual-content", "design-systems", "conversion", "platform-web", "agent-implementation", "dashboards", "data-viz", "e-commerce", "saas-onboarding", "admin", "search-discovery", "trust-safety", "i18n"]; type KnowledgeCategory = (typeof KNOWLEDGE_CATEGORIES)[number]; declare const FRESHNESS_VOLATILITIES: readonly ["stable", "evolving", "volatile"]; type FreshnessVolatility = (typeof FRESHNESS_VOLATILITIES)[number]; interface Citation { readonly source: string; readonly url?: string; readonly retrievedAt: string; } interface Freshness { readonly volatility: FreshnessVolatility; readonly lastReviewed: string; } interface KnowledgeEntry { readonly id: string; readonly title: string; readonly summary: string; readonly category?: KnowledgeCategory; readonly deepGuidance?: string; readonly citation?: Citation; readonly freshness?: Freshness; readonly appliesToAppTypes?: readonly AppType[]; readonly appliesToLenses?: readonly string[]; readonly steps?: readonly string[]; readonly tags?: readonly string[]; readonly draft?: boolean; readonly sourcePath?: string; } interface RelevanceQuery { readonly lensId: string; readonly appType: string; readonly step: string; } interface KnowledgeSource { query(relevanceQuery: RelevanceQuery): MaybePromise>; resolve(id: string): MaybePromise>; } interface PersistArtifactIntent { readonly kind: "capture" | "report" | "generated"; readonly relativePath: string; readonly bytes: Uint8Array; } interface PersistedArtifactRef { readonly path: string; readonly sha256: string; } interface QaSidecarRef { readonly id: string; readonly manifestDigest?: string; readonly path: string; } interface ArtifactWriter { writeArtifact(intent: PersistArtifactIntent): MaybePromise>; } interface ProjectStateSnapshot { readonly version: string; readonly baselines?: readonly Baseline[]; readonly backlog?: Backlog; readonly currentStage?: string; readonly findings?: readonly Finding[]; readonly modelEgress?: readonly ProjectModelEgressLedgerEntry[]; readonly runRecords?: readonly ProjectRunRecord[]; readonly discovery?: { readonly [key: string]: unknown; readonly appType?: AppType; readonly classification?: { readonly [key: string]: unknown; readonly appType: AppType; readonly matchedSignals: readonly string[]; readonly source: "config" | "route-inventory" | "target-ref" | "generic-fallback"; }; readonly events?: readonly { readonly [key: string]: unknown; readonly type: string; }[]; readonly overlayId?: AppType; readonly personaTask?: { readonly [key: string]: unknown; readonly persona: string; readonly task: string; }; readonly routeInventory?: { readonly [key: string]: unknown; readonly cap: number; readonly routes: readonly { readonly [key: string]: unknown; readonly path: string; readonly source: "target" | "candidate"; }[]; readonly skipped: readonly { readonly [key: string]: unknown; readonly path: string; readonly reason: "route_cap_exceeded"; readonly source: "target" | "candidate"; }[]; }; readonly runId?: string; }; readonly pipeline?: { readonly [key: string]: unknown; readonly activeConfig?: SurfaceConfig; readonly lastCompletedStage?: string | undefined; readonly nextEventSequence?: number | undefined; readonly runId: string; readonly stageIds: readonly string[]; }; readonly trackedFindings?: readonly TrackedFinding[]; readonly verdicts?: readonly Verdict[]; } interface ProjectModelEgressUnavailableChannel { readonly channelId?: ModelChannelId | undefined; readonly sourceKind?: ModelSourceKind | undefined; readonly reason: Extract["reason"]; readonly message: string; } interface ProjectModelEgressLedgerEntry { readonly runId: string; readonly sourceKind: ModelSourceKind; readonly attemptedChannels: readonly ModelChannelId[]; readonly completedChannels: readonly ModelChannelId[]; readonly unavailableChannels: readonly ProjectModelEgressUnavailableChannel[]; readonly blockedReasons: readonly string[]; readonly artifactClassesSent: readonly CaptureArtifactType[]; readonly redactionStatus: string; } interface ProjectBacklogSnapshot { readonly id: string; readonly runId: string; readonly entries: readonly unknown[]; } interface ProjectFindingSnapshot { readonly id: string; } interface ProjectRunRecord { readonly runId: string; readonly status?: "completed" | "failed"; readonly backlog?: Backlog; readonly completedAt?: string; readonly completedStages?: readonly string[]; readonly capture?: Capture; readonly findings?: readonly Finding[]; readonly reconciliationQuestions?: readonly ReconciliationQuestion[]; readonly skippedLenses?: readonly { readonly lensId: string; readonly message: string; readonly reason: string; }[]; readonly skippedStages?: readonly { readonly stage: string; readonly reason: string; }[]; readonly stage?: string; readonly trackedFindings: readonly TrackedFinding[]; } interface ProjectVerdictSnapshot { readonly decision: string; readonly findingId: string; readonly rationale: string; } interface StateStore { readState(): MaybePromise>; writeState(state: ProjectStateSnapshot): MaybePromise>; /** * Apply a read-modify-write update under the store's native atomicity * boundary. File-backed stores should hold a file lock; transactional stores * should run the updater inside a transaction. Production stores should * implement this method when callers need race-free state updates; callers may * keep readState/writeState fallback paths only for backward compatibility. */ updateState?(updater: (state: ProjectStateSnapshot) => ProjectStateSnapshot): MaybePromise>; writeArtifact(intent: PersistArtifactIntent): MaybePromise>; } export { CaptureArtifactSchema as $, type ActionPolicy as A, type Backlog as B, BrowserActionNameSchema as C, BrowserActionSchema as D, type BrowserLocator as E, BrowserLocatorSchema as F, type BrowserQaFlow as G, BrowserQaFlowSchema as H, type BrowserQaFlowStep as I, BrowserQaFlowStepSchema as J, type BuiltInCaptureBackendId as K, type BuiltInIssueExportTarget as L, type BuiltInReportFormat as M, type CandidateFinding as N, CandidateFindingIdSchema as O, CandidateFindingSchema as P, type CandidateFindingSidecar as Q, CandidateFindingSidecarSchema as R, type CandidateFlow as S, CandidateFlowIdSchema as T, CandidateFlowSchema as U, type CandidateFlowSidecar as V, CandidateFlowSidecarSchema as W, type CandidateVerdictPromotion as X, CandidateVerdictPromotionSchema as Y, type Capture as Z, type CaptureArtifact as _, type ActionPolicyCategory as a, ExportTargetSchema as a$, type CaptureArtifactType as a0, CaptureArtifactTypeSchema as a1, type CaptureBackend as a2, type CaptureConfig as a3, CaptureConfigLayerSchema as a4, CaptureConfigSchema as a5, type CaptureNetworkPolicy as a6, type CaptureOptions as a7, type CaptureStatus as a8, type Citation as a9, DimensionsSchema as aA, type DirectSubscriptionChannelId as aB, DirectSubscriptionChannelIdSchema as aC, type DirectSubscriptionChannelPolicyBlock as aD, DirectSubscriptionChannelPolicyBlockSchema as aE, type DomEvidence as aF, DomEvidenceSchema as aG, type EdgeErrorContext as aH, type EnvironmentGroup as aI, EnvironmentGroupSchema as aJ, type EvaluationConfig as aK, EvaluationConfigLayerSchema as aL, EvaluationConfigSchema as aM, type EvaluationMethod as aN, EvaluationMethodSchema as aO, type Evidence as aP, type EvidenceBundle as aQ, EvidenceBundleIdSchema as aR, EvidenceBundleSchema as aS, type EvidenceBundleSidecar as aT, EvidenceBundleSidecarSchema as aU, EvidenceSchema as aV, type ExplorationState as aW, ExplorationStateSchema as aX, type ExplorationSummary as aY, ExplorationSummarySchema as aZ, type ExportTarget as a_, type CitedHeuristicEvidence as aa, CitedHeuristicEvidenceSchema as ab, type CliErrorEnvelope as ac, type CliExitCode as ad, CliExitCodeSchema as ae, type ComponentMap as af, type ComponentMapEntry as ag, type ConfidenceBand as ah, ConfidenceBandSchema as ai, type ConfidenceCutoffs as aj, ConfidenceCutoffsLayerSchema as ak, ConfidenceCutoffsSchema as al, ContrastHexSuggestedPatchSchema as am, type CreateBaselineInput as an, type CreateCandidateVerdictPromotionInput as ao, type CreateSelfGroundingReportInput as ap, type CreateSurfaceErrorOptions as aq, type CreateTrackedFindingInput as ar, type CreateVerdictInput as as, DEFAULT_FINDINGS_POLICY as at, DEFAULT_SURFACE_CONFIG as au, type DegradationReport as av, type Depth as aw, DepthSchema as ax, type DiffableTrackedFinding as ay, type Dimensions as az, ActionPolicyCategorySchema as b, ModelConfigSchema as b$, FRESHNESS_VOLATILITIES as b0, type Finding as b1, type FindingDraft as b2, FindingDraftSchema as b3, type FindingIdentity as b4, type FindingIdentityAssignment as b5, FindingIdentityAssignmentSchema as b6, type FindingIdentityCandidate as b7, FindingIdentityCandidateSchema as b8, FindingIdentitySchema as b9, type GateResult as bA, type GroundingTool as bB, type IdentityAnchorKind as bC, IdentityAnchorKindSchema as bD, type IdentityDriftResult as bE, IdentityDriftResultSchema as bF, type IssueExport as bG, type IssueExportTarget as bH, type IssueExporter as bI, JUDGED_COVERAGE_UNAVAILABLE_MESSAGE as bJ, KNOWLEDGE_CATEGORIES as bK, type KnowledgeCategory as bL, type KnowledgeEntry as bM, type KnowledgeSource as bN, type Lens as bO, type LensContext as bP, type LocalBacklogRef as bQ, type Location as bR, LocationSchema as bS, type McpStructuredError as bT, type ModelAvailability as bU, ModelAvailabilitySchema as bV, type ModelChannelId as bW, ModelChannelIdSchema as bX, type ModelCompletionAdapter as bY, type ModelConfig as bZ, ModelConfigLayerSchema as b_, FindingSchema as ba, type FindingStatus as bb, type FindingsEnvelope as bc, FindingsEnvelopeSchema as bd, type FindingsPolicy as be, FindingsPolicyLayerSchema as bf, FindingsPolicySchema as bg, type FixtureAccount as bh, FixtureAccountSchema as bi, type FlowRun as bj, FlowRunIdSchema as bk, FlowRunSchema as bl, type FlowRunSummary as bm, FlowRunSummarySchema as bn, type FlowStepResult as bo, FlowStepResultSchema as bp, type FrameworkAdapter as bq, type Freshness as br, type FreshnessVolatility as bs, type GateDisposition as bt, type GateEvaluationContext as bu, type GateEvaluator as bv, type GatePolicy as bw, type GatePolicy$1 as bx, GatePolicyLayerSchema as by, GatePolicySchema as bz, type ActionPolicyDecision as c, ReconciliationQuestionSchema as c$, type ModelEgressMode as c0, ModelEgressModeSchema as c1, type ModelEgressPolicy as c2, ModelEgressPolicyLayerSchema as c3, ModelEgressPolicySchema as c4, type ModelFallbackConfig as c5, ModelFallbackConfigLayerSchema as c6, ModelFallbackConfigSchema as c7, type ModelFallbackMode as c8, ModelFallbackModeSchema as c9, type ProjectRunRecord as cA, type ProjectStateSnapshot as cB, type ProjectVerdictSnapshot as cC, type PromotedFindingSidecar as cD, PromotedFindingSidecarSchema as cE, type QaDegradation as cF, QaDegradationSchema as cG, type QaEvidenceArtifact as cH, QaEvidenceArtifactSchema as cI, type QaRun as cJ, QaRunIdSchema as cK, QaRunSchema as cL, type QaRunSidecar as cM, QaRunSidecarSchema as cN, type QaSeverity as cO, QaSeveritySchema as cP, type QaSidecarRef as cQ, QaStatusSchema as cR, type QaTarget as cS, QaTargetSchema as cT, type ReconciledFinding as cU, ReconciledFindingSchema as cV, type ReconciliationChannel as cW, ReconciliationChannelSchema as cX, type ReconciliationInput as cY, ReconciliationInputSchema as cZ, type ReconciliationQuestion as c_, type ModelLensSkip as ca, ModelLensSkipSchema as cb, type ModelPrompt as cc, ModelPromptSchema as cd, type ModelProvider as ce, type ModelProviderConfig as cf, type ModelProviderConfigInput as cg, ModelProviderConfigSchema as ch, type ModelProviderId as ci, type ModelProviderResolution as cj, type ModelRequest as ck, ModelRequestSchema as cl, type ModelResponse as cm, ModelResponseSchema as cn, type ModelSourceKind as co, ModelSourceKindSchema as cp, type ModelUnavailableReason as cq, ModelUnavailableReasonSchema as cr, type PersistArtifactIntent as cs, type PersistedArtifactRef as ct, type Preset as cu, PresetSchema as cv, type ProjectBacklogSnapshot as cw, type ProjectFindingSnapshot as cx, type ProjectModelEgressLedgerEntry as cy, type ProjectModelEgressUnavailableChannel as cz, ActionPolicyDecisionSchema as d, type ToolResult as d$, type ReconciliationResult as d0, ReconciliationResultSchema as d1, type ReconciliationService as d2, type ReconciliationUnavailableChannel as d3, ReconciliationUnavailableChannelSchema as d4, type ReconciliationUnavailableReason as d5, ReconciliationUnavailableReasonSchema as d6, type Rect as d7, RectSchema as d8, type RedactionRule as d9, type SourceFileRef as dA, type StableFindingIdentityAssignment as dB, StableFindingIdentityAssignmentSchema as dC, StableIdentityDriftResultSchema as dD, type Stack as dE, StackSchema as dF, type StateStore as dG, type SuggestedPatch as dH, SuggestedPatchSchema as dI, type SurfaceConfig as dJ, type SurfaceConfigLayer as dK, SurfaceConfigLayerSchema as dL, type SurfaceConfigLayers as dM, SurfaceConfigLayersSchema as dN, SurfaceConfigSchema as dO, type SurfaceError as dP, type SurfaceErrorCode as dQ, SurfaceErrorCodeSchema as dR, type SurfaceErrorDefinition as dS, type SurfaceErrorKind as dT, SurfaceErrorKindSchema as dU, SurfaceErrorSchema as dV, type Target as dW, type TargetKind as dX, TargetSizeSuggestedPatchSchema as dY, type TargetVerification as dZ, type Theme as d_, RedactionRuleSchema as da, type RelevanceQuery as db, type Report as dc, type ReportFormat as dd, type ReportRenderer as de, type ReportingConfig as df, ReportingConfigLayerSchema as dg, ReportingConfigSchema as dh, type ReproStep as di, ReproStepSchema as dj, type ResetEndpoint as dk, ResetEndpointSchema as dl, type Result as dm, SURFACE_ERROR_DEFINITIONS as dn, type ScreenshotEgressPolicy as dp, ScreenshotEgressPolicySchema as dq, type ScreenshotRegionEvidence as dr, ScreenshotRegionEvidenceSchema as ds, type SelfGroundingReport as dt, SelfGroundingReportSchema as du, type SeverityBand as dv, SeverityBandSchema as dw, type SeverityCutoffs as dx, SeverityCutoffsLayerSchema as dy, SeverityCutoffsSchema as dz, type ActionPolicyRule as e, type ToolResultEvidence as e0, ToolResultEvidenceSchema as e1, type TrackedFinding as e2, type TrackedFindingHistoryEntry as e3, type TrackedFindingTransition as e4, type TrackedFindingsDiff as e5, type TrackedFindingsDiffEntry as e6, type ValidationCheck as e7, type Verdict as e8, type VerdictDecision as e9, identityInternalsForTesting as eA, isErr as eB, isOk as eC, isWaiverActive as eD, matchFindingIdentity as eE, modelSkipForLens as eF, ok as eG, reconcileFindings as eH, resolveModelProviderConfig as eI, resolveSurfaceConfig as eJ, scoreFinding as eK, synthesizeBacklog as eL, toCliErrorEnvelope as eM, toMcpError as eN, transitionTrackedFinding as eO, VerdictDecisionSchema as ea, type VerdictReusePolicy as eb, VerdictReusePolicySchema as ec, VerdictSchema as ed, type Viewport$1 as ee, type Viewport as ef, type ViewportLabel as eg, ViewportSchema as eh, type Waiver as ei, applyVerdictsToBacklog as ej, applyWaiversToTrackedFindings as ek, assignFindingIdentities as el, createBaseline as em, createCandidateVerdictPromotion as en, createConfiguredModelProvider as eo, createReconciliationService as ep, createSelfGroundingReport as eq, createSurfaceError as er, createTrackedFinding as es, createUnavailableModelProvider as et, createVerdict as eu, deriveFindingIdentity as ev, deriveFindingIdentityCandidate as ew, diffTrackedFindings as ex, err as ey, exitCodeForSurfaceError as ez, ActionPolicyRuleSchema as f, ActionPolicySchema as g, type AppType as h, AppTypeSchema as i, type ApplyVerdictsToBacklogInput as j, type ApplyWaiversInput as k, AriaAttributeSuggestedPatchSchema as l, type ArtifactRedactionMetadata as m, ArtifactRedactionMetadataSchema as n, type ArtifactRedactionTextRange as o, ArtifactRedactionTextRangeSchema as p, type ArtifactWriter as q, type BacklogEntry as r, BacklogEntrySchema as s, BacklogSchema as t, type Baseline as u, type BrokenFindingIdentityAssignment as v, BrokenFindingIdentityAssignmentSchema as w, BrokenIdentityDriftResultSchema as x, type BrowserAction as y, type BrowserActionName as z };