import type Database from "better-sqlite3";
import { type TaskStateProjectionMeta, type TaskStateProjectionSyncStatus } from "./task-state-projection-meta-store.js";
export type TaskStateProjectionHealthCode = "projection-meta-unavailable" | "event-log-empty" | "projection-empty" | "projection-fresh" | "projection-stale" | "projection-ahead-of-log" | "projection-corrupt" | "event-log-admission-failed";
export type TaskStateProjectionHealth = {
    schemaVersion: 1;
    code: TaskStateProjectionHealthCode;
    message: string;
    appliedSequence: number;
    logMaxSequence: number;
    logEventCount: number;
    syncStatus: TaskStateProjectionSyncStatus | null;
    recommendedCommand: string | null;
};
export declare function evaluateTaskStateProjectionHealth(workspacePath: string, db: Database.Database, eventLogRelativePath?: string): TaskStateProjectionHealth;
export declare function collectTaskStateProjectionDoctorIssues(workspacePath: string, dbAbs: string, db: Database.Database, eventLogRelativePath?: string): Array<{
    path: string;
    reason: string;
}>;
export type { TaskStateProjectionMeta };
