export interface TaskSchedule { id: string; name: string; projectDirectory: string; cron?: string; at?: string; timezone?: string; maxRuns?: number; runs: number; enabled: boolean; createdAt: string; lastRunAt?: string; nextRunAt?: string; parameters: Record; } export interface CreateTaskScheduleInput { name: string; projectDirectory: string; cron?: string; at?: string; timezone?: string; maxRuns?: number; parameters: Record; } export type ScheduledTaskInvoker = (parameters: Record, projectDirectory: string) => Promise; export declare class TaskScheduler { private readonly storePath; private readonly jobs; private invoker?; constructor(storePath: string); start(invoker: ScheduledTaskInvoker): Promise; add(input: CreateTaskScheduleInput): Promise; list(): Promise; cancel(id: string): Promise; dispose(): void; private install; private recordRun; private updateDocument; }