/** A learnings file that satisfies every hard budget. */
export interface LearningsBudgetOk {
    readonly kind: "ok";
    readonly entryCount: number;
    readonly maxEntries: number;
    readonly measuredTokens: number;
    readonly maxTokens: number;
}
/** No learnings file exists at the resolved path — an expected, silent case. */
export interface LearningsBudgetMissing {
    readonly kind: "missing";
    readonly detail: string;
}
/** The learnings file breached a budget or is otherwise unsafe or invalid. */
export interface LearningsBudgetViolation {
    readonly kind: "violation";
    readonly detail: string;
}
/** Structured outcome of one budget check. */
export type LearningsBudgetResult = LearningsBudgetOk | LearningsBudgetMissing | LearningsBudgetViolation;
/**
 * Check one already-resolved absolute learnings path against the shared hard
 * budgets. Callers resolve the path (from config or an explicit argument) and
 * decide the exit policy from the returned discriminated union.
 * @param file - Absolute learnings file path
 * @returns Structured budget-check result
 */
export declare function checkLearningsBudget(file: string): Promise<LearningsBudgetResult>;
/**
 * Render a caught failure without allowing filesystem paths or control bytes
 * embedded in an Error message to forge additional terminal/CI output.
 * @param error - Unknown thrown failure
 * @returns Stable, single-line diagnostic detail
 */
export declare function formatErrorDetail(error: unknown): string;
/**
 * Quote one path after applying terminal-safe JSON-style escaping.
 * @param file - Path to render in diagnostics
 * @returns Quoted, terminal-safe path
 */
export declare function formatDiagnosticPath(file: string): string;
//# sourceMappingURL=learnings-budget-check.d.ts.map