/** Command-line options for {@link runLearningsOverflow}. */
export interface LearningsOverflowOptions {
    /** Entry ids to remove once they have a durable home elsewhere. */
    readonly drain?: readonly string[];
}
/** Injectable collaborators for {@link runLearningsOverflow}. */
export interface LearningsOverflowDependencies {
    /** Working directory used to resolve the project config (defaults to cwd). */
    readonly cwd?: string;
    /** Sink for the JSON payload (defaults to stdout). */
    readonly log?: (message: string) => void;
    /** Sink for the failure diagnostic (defaults to stderr). */
    readonly error?: (message: string) => void;
}
/**
 * Read or drain the overflow and print the outcome as JSON.
 *
 * A malformed or unsafe overflow is a real failure and exits non-zero: unlike a
 * missing file (which is the ordinary case and reads as empty), a document the
 * contract refuses to parse must not be reported as "nothing to drain" — that
 * would present a corrupted buffer as a healthy one.
 * @param options - Parsed command-line options
 * @param dependencies - Injectable collaborators for tests
 * @returns Process exit code
 */
export declare function runLearningsOverflow(options: LearningsOverflowOptions, dependencies?: LearningsOverflowDependencies): Promise<number>;
//# sourceMappingURL=learnings-overflow-cmd.d.ts.map