import type { InMemoryDB } from '../inmemory-db.js';
import type { Schedule, ScheduleFilter, ScheduleTrigger, ScheduleTriggerListOptions, ScheduleUpdate } from './base.js';
import { SchedulesStorage } from './base.js';
export declare class InMemorySchedulesStorage extends SchedulesStorage {
    private db;
    constructor({ db }: {
        db: InMemoryDB;
    });
    dangerouslyClearAll(): Promise<void>;
    createSchedule(schedule: Schedule): Promise<Schedule>;
    getSchedule(id: string): Promise<Schedule | null>;
    listSchedules(filter?: ScheduleFilter): Promise<Schedule[]>;
    listDueSchedules(now: number, limit?: number): Promise<Schedule[]>;
    updateSchedule(id: string, patch: ScheduleUpdate): Promise<Schedule>;
    updateScheduleNextFire(id: string, expectedNextFireAt: number, newNextFireAt: number, lastFireAt: number, lastRunId: string): Promise<boolean>;
    deleteSchedule(id: string): Promise<void>;
    recordTrigger(trigger: ScheduleTrigger): Promise<void>;
    listTriggers(scheduleId: string, opts?: ScheduleTriggerListOptions): Promise<ScheduleTrigger[]>;
}
//# sourceMappingURL=inmemory.d.ts.map