import { z } from 'zod'; import { type EnvConfig } from '../config/env.js'; import { type ExpectedPinMapping, type LayoutQaInput, type LayoutQaRelationship, type LayoutQaResult, type VisualHeuristicFinding } from '../workflows/schematic-layout-qa.js'; import { type ToolContext, type ToolDefinition } from './types.js'; export declare const layoutQaOutputSchema: z.ZodObject<{ projectId: z.ZodString; status: z.ZodEnum<{ fail: "fail"; pass: "pass"; inconclusive: "inconclusive"; }>; passed: z.ZodBoolean; commitBlocked: z.ZodBoolean; issues: z.ZodArray; category: z.ZodEnum<{ electrical: "electrical"; geometry: "geometry"; readability: "readability"; grouping: "grouping"; wiring: "wiring"; runtime: "runtime"; }>; source: z.ZodEnum<{ exact_geometry: "exact_geometry"; derived_geometry: "derived_geometry"; runtime_drc: "runtime_drc"; runtime_erc: "runtime_erc"; expected_topology: "expected_topology"; connectivity_fingerprint: "connectivity_fingerprint"; visual_heuristic: "visual_heuristic"; runtime_capability: "runtime_capability"; }>; message: z.ZodString; affectedPrimitiveIds: z.ZodArray; affectedNets: z.ZodArray; affectedPins: z.ZodArray; region: z.ZodOptional>; measured: z.ZodOptional; expected: z.ZodOptional>; evidence: z.ZodString; remediation: z.ZodString; blocksCommit: z.ZodBoolean; confidence: z.ZodNumber; }, z.core.$strip>>; issueCounts: z.ZodObject<{ critical: z.ZodNumber; error: z.ZodNumber; warning: z.ZodNumber; info: z.ZodNumber; }, z.core.$strip>; scores: z.ZodObject<{ geometry: z.ZodNumber; readability: z.ZodNumber; grouping: z.ZodNumber; spacing: z.ZodNumber; wiring: z.ZodNumber; electrical: z.ZodNumber; runtime: z.ZodNumber; overall: z.ZodNumber; }, z.core.$strip>; evidence: z.ZodObject<{ exactGeometry: z.ZodBoolean; runtimeDrc: z.ZodBoolean; runtimeErc: z.ZodBoolean; fullPageCapture: z.ZodBoolean; deterministicCapture: z.ZodBoolean; }, z.core.$strip>; summary: z.ZodObject<{ criticalIssueCodes: z.ZodArray; blockingIssueCodes: z.ZodArray; topIssues: z.ZodArray; category: z.ZodEnum<{ electrical: "electrical"; geometry: "geometry"; readability: "readability"; grouping: "grouping"; wiring: "wiring"; runtime: "runtime"; }>; source: z.ZodEnum<{ exact_geometry: "exact_geometry"; derived_geometry: "derived_geometry"; runtime_drc: "runtime_drc"; runtime_erc: "runtime_erc"; expected_topology: "expected_topology"; connectivity_fingerprint: "connectivity_fingerprint"; visual_heuristic: "visual_heuristic"; runtime_capability: "runtime_capability"; }>; message: z.ZodString; affectedPrimitiveIds: z.ZodArray; affectedNets: z.ZodArray; affectedPins: z.ZodArray; region: z.ZodOptional>; measured: z.ZodOptional; expected: z.ZodOptional>; evidence: z.ZodString; remediation: z.ZodString; blocksCommit: z.ZodBoolean; confidence: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>; export interface CollectSchematicLayoutQaOptions { expectedComponentRefs?: string[]; expectedNetNames?: string[]; expectedPinMappings?: ExpectedPinMapping[]; relationships?: LayoutQaRelationship[]; connectivity?: LayoutQaInput['connectivity']; thresholds?: LayoutQaInput['thresholds']; visualFindings?: VisualHeuristicFinding[]; runVisualCapture?: boolean; } export declare function collectSchematicLayoutQa(ctx: ToolContext, projectId: string, options?: CollectSchematicLayoutQaOptions): Promise; export declare function registerSchematicLayoutTools(registry: { register: (definition: ToolDefinition) => void; }, _config: EnvConfig): void;