import type { Logger } from "pino";
import { AgentManager } from "../agent/agent-manager.js";
import { AgentStorage } from "../agent/agent-storage.js";
import type { CreateScheduleInput, ScheduleExecutionResult, ScheduleRun, StoredSchedule } from "./types.js";
export interface ScheduleServiceOptions {
    paseoHome: string;
    logger: Logger;
    agentManager: AgentManager;
    agentStorage: AgentStorage;
    now?: () => Date;
    runner?: (schedule: StoredSchedule) => Promise<ScheduleExecutionResult>;
}
export declare class ScheduleService {
    private readonly store;
    private readonly logger;
    private readonly agentManager;
    private readonly agentStorage;
    private readonly now;
    private readonly runner;
    private readonly runningScheduleIds;
    private tickTimer;
    constructor(options: ScheduleServiceOptions);
    start(): Promise<void>;
    stop(): Promise<void>;
    create(input: CreateScheduleInput): Promise<StoredSchedule>;
    list(): Promise<StoredSchedule[]>;
    inspect(id: string): Promise<StoredSchedule>;
    logs(id: string): Promise<ScheduleRun[]>;
    pause(id: string): Promise<StoredSchedule>;
    resume(id: string): Promise<StoredSchedule>;
    delete(id: string): Promise<void>;
    tick(): Promise<void>;
    private recoverInterruptedRuns;
    private runSchedule;
    private finishRun;
    private executeSchedule;
    private ensureAgentLoaded;
}
//# sourceMappingURL=service.d.ts.map