import type { Logger } from 'pino';
import type { WorktreeGateway } from '../../modules/worktree-management/entities/worktree/worktree.gateway.js';
import type { SweepRepository, SweepTrackingGateway } from '../../modules/worktree-management/usecases/sweepStaleWorktrees.usecase.js';
import type { LastSweepSummary } from '../../modules/worktree-management/entities/sweep/lastSweepSummary.schema.js';
import type { RunSweepNowResult } from '../../modules/worktree-management/entities/sweep/runSweepResult.js';
export interface WorktreeSweepSchedulerDependencies {
    worktreeGateway: WorktreeGateway;
    trackingGateway: SweepTrackingGateway;
    getRepositories: () => SweepRepository[];
    logger: Logger;
    now: () => Date;
}
export interface WorktreeSweepSchedulerHandle {
    stop: () => void;
    getLastSweep: () => LastSweepSummary | null;
    getNextSweepEta: () => Date;
    runSweepNow: () => Promise<RunSweepNowResult>;
}
export declare function startWorktreeSweepScheduler(dependencies: WorktreeSweepSchedulerDependencies): WorktreeSweepSchedulerHandle;
//# sourceMappingURL=worktreeSweepScheduler.d.ts.map