export type CrashProcessKind = "bash" | "python" | "lsp" | "dap" | "mcp" | "browser" | "worker" | "native" | "unknown"; export type CrashClass = "clean_exit" | "non_zero_exit" | "signal_exit" | "timeout" | "cancelled" | "spawn_error" | "protocol_exit" | "native_panic" | "unknown"; export interface CrashClassificationInput { kind: CrashProcessKind; command?: string[]; exitCode?: number | null; signal?: string | null; cancelled?: boolean; timedOut?: boolean; spawnError?: unknown; stderr?: string; protocol?: string; } export interface CrashClassification { kind: CrashProcessKind; class: CrashClass; crashed: boolean; exitCode: number | null; signal: string | null; command?: string[]; protocol?: string; reason: string; } export interface CrashReport extends CrashClassification { schemaVersion: 1; createdAt: string; pid: number; cwd: string; stderrPreview?: string; spawnError?: string; } export interface CrashReportWriteResult { report: CrashReport; path: string | null; enabled: boolean; } export declare function crashDiagnosticsEnabled(env?: NodeJS.ProcessEnv): boolean; export declare function getCrashDiagnosticsDirectory(env?: NodeJS.ProcessEnv): string; export declare function classifyProcessCrash(input: CrashClassificationInput): CrashClassification; export declare function writeCrashReport(input: CrashClassificationInput, options?: { cwd?: string; env?: NodeJS.ProcessEnv; now?: Date; }): Promise; export declare function formatCrashDiagnosticNotice(result: CrashReportWriteResult): string | null;