import { logClock } from '../../../servertool/clock/log.js';
import { reserveDueTasksForRequest, scheduleClockTasks, type ClockConfigSnapshot, type ClockReservation } from '../../../servertool/clock/task-store.js';
import type { StandardizedMessage } from '../types/standardized.js';
import type { ClockScheduleDirective } from './chat-process-clock-directives.js';
import { buildClockMarkerScheduleMessages } from './chat-process-clock-reminder-messages.js';
type ClockReminderSchedulingDeps = {
    nowFn?: () => number;
    logClockFn?: typeof logClock;
    scheduleClockTasksFn?: typeof scheduleClockTasks;
    buildClockMarkerScheduleMessagesFn?: typeof buildClockMarkerScheduleMessages;
};
type ClockReminderReservationDeps = {
    reserveDueTasksForRequestFn?: typeof reserveDueTasksForRequest;
};
export declare function scheduleClockReminderDirectiveMessages(options: {
    clockScheduleDirectives: ClockScheduleDirective[];
    sessionId: string | null;
    requestId: string;
    clockConfig: ClockConfigSnapshot;
}, deps?: ClockReminderSchedulingDeps): Promise<StandardizedMessage[]>;
export declare function reserveClockDueReminderForRequest(options: {
    hadClear: boolean;
    sessionId: string | null;
    requestId: string;
    clockConfig: ClockConfigSnapshot;
}, deps?: ClockReminderReservationDeps): Promise<{
    reservation: ClockReservation | null;
    dueInjectText: string;
}>;
export {};
