import type { Logger } from './types.js';
import type { FsWatcher } from './fs-watcher.js';
import { type SystemctlRunner } from './systemd-scope.js';
export interface ReaperDeps {
    watcher: FsWatcher;
    recorderIdleTtlMs: number;
    killGraceMs: number;
    intervalMs: number;
    /** Cwd passed to /spawn for this manager; used to derive jsonl paths. */
    spawnCwd: string;
    logger: Logger;
    /** Injectable clock for tests. Defaults to Date.now. */
    now?: () => number;
    /** Task 250 — systemctl runner for the scope-stop call. Defaults to
     *  spawnSync; tests inject a recording stub. */
    runSystemctl?: SystemctlRunner;
}
export interface Reaper {
    start(): void;
    stop(): void;
    /** Run one reap pass synchronously. Exposed for tests. */
    tickOnce(): {
        scanned: number;
        reaped: number;
    };
}
export declare function createReaper(deps: ReaperDeps): Reaper;
//# sourceMappingURL=reaper.d.ts.map