import type { EventBus } from '../core/event-bus.js';
export declare const TEAM_ROOM_REPLY_REMINDER: string;
export interface TeamReconcilerScheduler {
    releaseInvocationLocks(invocationId: string): void;
    startNextSessions(teamRunId: string): Promise<unknown>;
}
export interface TeamReconcilerSessionMessenger {
    sendMessage(sessionId: string, message: string): Promise<unknown>;
}
export interface TeamReconcilerDependencies {
    scheduler?: TeamReconcilerScheduler;
    sessionMessenger?: TeamReconcilerSessionMessenger;
    eventBus?: Pick<EventBus, 'emit'>;
    now?: () => Date;
    reminderDelaysMs?: number[];
    maxRoomReplyReminders?: number;
    scheduleReminders?: boolean;
}
export declare class TeamReconcilerService {
    private scheduler;
    private readonly reminderTimers;
    private readonly sessionMessenger?;
    private readonly eventBus?;
    private readonly now;
    private readonly reminderDelaysMs;
    private readonly maxRoomReplyReminders;
    private readonly scheduleReminders;
    constructor(dependencies?: TeamReconcilerDependencies);
    handleSessionExit(sessionId: string): Promise<boolean>;
    handleSessionStopped(sessionId: string): Promise<boolean>;
    reconcileInvocation(invocationId: string): Promise<void>;
    reconcileDueRoomReplyReminders(limit?: number): Promise<number>;
    maybeAdvanceTeamRunToReview(teamRunId: string): Promise<boolean>;
    private emitTeamRunInvalidated;
    private afterInvocationTerminal;
    private releaseTerminalInvocationLocks;
    private sendRoomReplyReminder;
    private scheduleReminderTimer;
    private clearReminderTimer;
    private getReminderDelayMs;
    private addDelay;
    private getScheduler;
}
//# sourceMappingURL=team-reconciler.service.d.ts.map