import type { Client } from "@libsql/client"; import { type CurrencyResult } from "./currency.js"; import { type GhClient } from "../util/gh.js"; import type { LytLifecycleHooks } from "../hooks.js"; export type CheckStatus = "pass" | "warn" | "fail" | "info"; export interface CheckResult { id: string; group: string; label: string; status: CheckStatus; message: string; remediation?: string | undefined; detail?: Record | undefined; } export interface DoctorOptions { full?: boolean | undefined; binaryRunner?: BinaryRunner | undefined; ghAuthChecker?: GhAuthChecker | undefined; networkProbe?: NetworkProbe | undefined; cwdResolver?: (() => string) | undefined; sampleLimit?: number | undefined; apply?: boolean | undefined; podRootResolver?: (() => string) | undefined; currencyChecker?: (() => Promise) | undefined; ghClient?: GhClient | undefined; homedirOverride?: string | undefined; agentManualVersionOverride?: string | undefined; hooks?: Pick | undefined; } export interface DoctorResult { checks: CheckResult[]; summary: { passes: number; warnings: number; failures: number; }; exitCode: number; } export type BinaryRunner = (binary: string, args: readonly string[]) => string | null; export type GhAuthChecker = () => boolean | null; export type NetworkProbe = () => boolean; export declare function doctorFlow(opts?: DoctorOptions): Promise; export declare function renderHumanReport(result: DoctorResult): string; export declare function _listForTests(dir: string): string[]; export declare function checkFederationRepoState(db: Client): Promise; export declare function checkMeshYonParses(db: Client): Promise; export declare function checkLedgersYonDbPairs(db: Client, opts: { sampleLimit: number; full: boolean; }): Promise; export declare function ledgerRemediation(vaultName: string, vaultPath: string, issues: readonly { ledger: string; dir: "cache-lost" | "sot-lost"; }[]): string; export declare function checkMarkersRender(db: Client, opts: { sampleLimit: number; }): Promise; export declare function checkTopicConformance(db: Client, opts: { ghClient: GhClient; ghAuthed: boolean; sampleLimit: number; full: boolean; }): Promise; export declare function checkFrontmatterContract(db: Client, opts: { sampleLimit: number; full: boolean; }): Promise; export declare function checkFrontmatterVersion(db: Client, opts: { sampleLimit: number; full: boolean; targetVersion?: number; }): Promise; //# sourceMappingURL=doctor.d.ts.map