import { type MigrationManifest } from "../package-lifecycle/index.js"; export type GuardName = "no-drizzle-push" | "no-empty-migrations" | "no-unscoped-credentials" | "no-unscoped-queries" | "no-env-credentials" | "db-tool-scoping" | "no-env-mutation" | "no-localhost-fallback" | "explicit-collab-access" | "identity-columns-registered" | "resource-action-access" | "feature-dependencies" | "server-plugin-default-export" | "migration-manifest"; export declare const ALL_GUARD_NAMES: GuardName[]; export interface DoctorConfig { disabledGuards: string[]; dbToolScopingDenylist: Record; failOnBuild: boolean; } export interface DoctorFinding { guard: string; file: string; line: number; message: string; } export interface DoctorReport { ok: boolean; findings: DoctorFinding[]; warnings: DoctorFinding[]; guardsRun: string[]; } export declare function readDoctorConfig(root: string): DoctorConfig; export interface RunDoctorScanOptions { root: string; only?: string[]; migrationManifests?: MigrationManifest[]; shellEnvironment?: NodeJS.ProcessEnv; } export declare function runDoctorScan(options: RunDoctorScanOptions): DoctorReport; export declare const LOW_DISK_FREE_BYTES: number; export interface DoctorDisk { freeBytes: number; totalBytes: number; reclaimableBytes?: number; scanFailures?: number; low: boolean; } export interface DoctorDiskError { error: string; } export type DoctorDiskReport = DoctorDisk | DoctorDiskError; export declare function checkDisk(root: string, { measureReclaimable }?: { measureReclaimable?: boolean | undefined; }): DoctorDiskReport; export declare function shouldFailBuild(hasFindings: boolean, opts: { strict?: boolean; failOnBuild?: boolean; }): boolean; export interface DoctorIo { log: (message: string) => void; err: (message: string) => void; } export interface DoctorCliOptions { json?: boolean; cwd?: string; only?: string[]; strict?: boolean; help?: boolean; fix?: boolean; disk?: boolean; } export declare function parseDoctorArgs(argv: string[]): DoctorCliOptions; export declare function printDoctorHelp(io?: Pick): void; export declare function runDoctor(argv: string[], io?: DoctorIo): Promise; export interface DoctorBuildHookOptions { cwd: string; strict?: boolean; } export interface DoctorBuildHookResult { ok: boolean; report: DoctorReport; } export declare function runDoctorBuildHook(options: DoctorBuildHookOptions, io?: DoctorIo): Promise;