import type { Client } from "@libsql/client"; import type { CheckResult } from "./doctor.js"; export interface ValidateMeshEdgesArgs { meshName?: string | undefined; registryDb?: Client | undefined; } export interface MeshEdgeFinding { refMeshName: string; refMeshRidHex: string; refVaultRidHex: string; homeMeshRidHex: string; homeVaultRidHex: string; kind: "parent"; reason: "ref-vault-not-registered" | "home-vault-not-registered" | "home-mesh-not-registered" | "home-mesh-main-vault-missing-on-disk" | "cache-row-missing-for-soT-edge" | "cache-row-orphaned-no-soT-edge"; message: string; remediation: string; } export interface MeshFileFinding { meshName: string; meshRidHex: string; meshYonPath: string; reason: "mesh-yon-parse-error"; parseError: string; message: string; remediation: string; } export interface MeshSubscriptionFinding { meshName: string; meshRidHex: string; externalVaultRidHex: string; reason: "external-vault-not-registered" | "external-mesh-not-registered" | "cache-row-missing-for-soT-subscription" | "cache-row-orphaned-no-soT-subscription"; message: string; remediation: string; } export interface ValidateMeshEdgesResult { checks: CheckResult[]; findings: MeshEdgeFinding[]; subscriptionFindings: MeshSubscriptionFinding[]; fileFindings: MeshFileFinding[]; summary: { meshesValidated: number; edgesValidated: number; subscriptionsValidated: number; warnings: number; }; exitCode: 0 | 2; durationMs: number; } export declare class MeshValidateNotFoundError extends Error { readonly errorCode = "mesh-not-found"; readonly meshName: string; constructor(meshName: string); } export declare function validateMeshEdgesFlow(args?: ValidateMeshEdgesArgs): Promise; //# sourceMappingURL=mesh-validate.d.ts.map