import type { SchematicModel } from './geometry-model.js'; export interface FingerprintPinMembership { componentId: string; componentReference: string; pinId: string; pinNumber: string; netIds: string[]; } export interface FingerprintWireEndpoint { endpoint: 'start' | 'end'; kind: 'pin' | 'unresolved'; token: string; } export interface FingerprintWire { wireId: string; netId?: string; netName?: string; endpoints: FingerprintWireEndpoint[]; } export interface FingerprintNetLabelOrPort { id: string; kind: 'label' | 'sheet-port' | 'power-symbol'; netName: string; } export interface FingerprintNoConnect { noConnectId: string; componentReference?: string; pinId?: string; pinNumber?: string; } export interface NormalizedConnectivity { pinNetMembership: FingerprintPinMembership[]; wireEndpoints: FingerprintWire[]; labelsAndPorts: FingerprintNetLabelOrPort[]; noConnects: FingerprintNoConnect[]; } export interface ConnectivityFingerprint { schemaVersion: 1; hash: string; normalized: NormalizedConnectivity; } export interface ConnectivityFingerprintOptions { endpointTolerance?: number; } export interface ConnectivityDiffEntry { key: string; before?: T; after?: T; } export interface ConnectivityFingerprintDiff { equal: boolean; beforeHash: string; afterHash: string; pinNetMembership: ConnectivityDiffEntry[]; wireEndpoints: ConnectivityDiffEntry[]; labelsAndPorts: ConnectivityDiffEntry[]; noConnects: ConnectivityDiffEntry[]; } export declare function createConnectivityFingerprint(model: SchematicModel, options?: ConnectivityFingerprintOptions): ConnectivityFingerprint; export declare function compareConnectivityFingerprints(before: ConnectivityFingerprint, after: ConnectivityFingerprint): ConnectivityFingerprintDiff;