import type { DestinationKind, DestinationTargetKind, VaultDestinationSource } from "./destination-policy.js"; import type { VaultSource, VaultStatus } from "./repo.js"; import { type ReadOnlySqliteQueryClient } from "../sqlite/read-only-client.js"; export declare class RegistryUpgradeRequiredError extends Error { readonly errorCode = "registry-upgrade-required"; readonly registryPath: string; readonly expectedVersions: readonly number[]; readonly observedVersions: readonly number[]; readonly detail: string | null; constructor(registryPath: string, expected: readonly number[], observed: readonly number[], detail?: string | null); } export interface ReadOnlyRegistryMissing { readonly kind: "missing"; readonly path: string; } export interface ReadOnlyRegistryClient { readonly kind: "open"; readonly path: string; readonly client: ReadOnlySqliteQueryClient; close(): void; } export type ReadonlyRegistryQueryClient = ReadOnlySqliteQueryClient; export type ReadOnlyRegistryOpenResult = ReadOnlyRegistryMissing | ReadOnlyRegistryClient; export interface VaultSnapshot { readonly rid: string; readonly canonicalName: string; readonly storedName: string; readonly path: string; readonly status: VaultStatus; readonly source: VaultSource; readonly homeMesh: Readonly<{ rid: string; name: string; }> | null; readonly destination: Readonly<{ kind: DestinationKind | null; source: VaultDestinationSource | null; target: string | null; targetKind: DestinationTargetKind | null; repositoryName: string | null; }>; readonly gitUrl: string | null; } export type ResolveVaultSnapshotResult = ReadOnlyRegistryMissing | Readonly<{ kind: "not-found"; path: string; handle: string; }> | Readonly<{ kind: "resolved"; path: string; vault: VaultSnapshot; }>; export declare function openRegistryReadOnly(opts?: { path?: string; }): ReadOnlyRegistryOpenResult; export declare function resolveVaultSnapshotReadOnly(handle: string, opts?: { path?: string; }): Promise; //# sourceMappingURL=read-only-client.d.ts.map