import { ContextLoaderConfig } from './context-assembly.service.js';
/**
 * Scheduled messages context loader — loads agent's scheduled checks/messages state.
 *
 * This is a context module (dynamic data), registered with ContextAssemblyService
 * rather than PromptAssemblyService. It loads the current scheduled checks and
 * messages for the agent so they have awareness of pending/recurring tasks.
 *
 * Token budget: 0-500
 *
 * Sources: SchedulerService recurring/one-time checks.
 */
/**
 * Scheduled check data shape for the loader (minimal subset of ScheduledCheck).
 */
export interface ScheduledCheckInfo {
    /** Unique check ID */
    id: string;
    /** Target session name */
    targetSession: string;
    /** Message content */
    message: string;
    /** Next scheduled execution time (ISO string) */
    scheduledFor: string;
    /** Interval in minutes for recurring checks */
    intervalMinutes?: number;
    /** Whether this check repeats */
    isRecurring: boolean;
    /** Human-readable label */
    label?: string;
}
/**
 * Provider function type that retrieves scheduled checks for an agent.
 * This allows the loader to be decoupled from the SchedulerService directly.
 */
export type ScheduledChecksProvider = (agentId: string) => ScheduledCheckInfo[];
/**
 * Create a scheduled messages context loader function.
 *
 * The loader is created with a provider function that retrieves the current
 * scheduled checks. This allows dependency injection and easy testing.
 *
 * @param getChecks - Provider function that returns scheduled checks for an agent
 * @returns Context loader function compatible with ContextAssemblyService
 *
 * @example
 * ```typescript
 * const loader = createScheduledMessagesLoader((agentId) => {
 *   return schedulerService.getChecksForAgent(agentId);
 * });
 * contextAssembly.registerLoader('scheduled_messages', loader);
 * ```
 */
export declare function createScheduledMessagesLoader(getChecks: ScheduledChecksProvider): (config: ContextLoaderConfig) => Promise<string>;
//# sourceMappingURL=scheduled-messages.loader.d.ts.map