import type { VisionClawConfig } from "../config/types.js";
import type { SessionManager } from "../agent/session-manager.js";
import type { MessageQueue } from "../channels/queue.js";
import type { AgentState } from "../agent/state.js";
/**
 * Background poller that watches for upcoming calendar events and injects
 * interrupt messages into the active agent session, so the agent can react
 * to events even during long-running tasks.
 */
export declare class CalendarInterruptPoller {
    private config;
    private sessionManager;
    private messageQueue;
    private getAgentState;
    private wakeMainLoop;
    private calendarClient;
    private timer;
    private notifiedEventIds;
    private pollIntervalMs;
    private leadTimeMs;
    constructor(options: {
        config: VisionClawConfig;
        sessionManager: SessionManager;
        messageQueue: MessageQueue;
        getAgentState: () => AgentState;
        wakeMainLoop: () => void;
        pollIntervalMs?: number;
        leadTimeMs?: number;
    });
    start(): void;
    stop(): void;
    private poll;
    private enqueueCalendarMessage;
    private buildCalendarInterruptText;
}
//# sourceMappingURL=calendar-interrupt-poller.d.ts.map