import { type CronOptions, type IntervalOptions, type ScheduleMetadata, type ScheduledPayload, type TriggerMetadata } from "@systemfsoftware/trigger.dev_core-v2"; import { Job } from "../job.js"; import { TriggerClient } from "../triggerClient.js"; import type { EventSpecification, Trigger } from "../types.js"; type ScheduledEventSpecification = EventSpecification; export declare class IntervalTrigger implements Trigger { private options; constructor(options: IntervalOptions); get event(): { name: string; title: string; source: string; icon: string; examples: { id: string; name: string; icon: string; payload: { ts: string; lastTimestamp: string; }; }[]; parsePayload: (data: unknown, params?: Partial) => { ts: Date; lastTimestamp?: Date | undefined; }; properties: { label: string; text: string; }[]; }; attachToJob(triggerClient: TriggerClient, job: Job, any>): void; get preprocessRuns(): boolean; verifyPayload(payload: ReturnType): Promise<{ success: true; }>; toJSON(): TriggerMetadata; } /** `intervalTrigger()` is set as a [Job's trigger](/sdk/job) to trigger a Job at a recurring interval. * @param options An object containing options about the interval. */ export declare function intervalTrigger(options: IntervalOptions): IntervalTrigger; export declare class CronTrigger implements Trigger { #private; constructor(options: CronOptions); get event(): { name: string; title: string; source: string; icon: string; examples: { id: string; name: string; icon: string; payload: { ts: string; lastTimestamp: string; }; }[]; parsePayload: (data: unknown, params?: Partial) => { ts: Date; lastTimestamp?: Date | undefined; }; properties: { label: string; text: string; }[]; }; attachToJob(triggerClient: TriggerClient, job: Job, any>): void; get preprocessRuns(): boolean; verifyPayload(payload: ReturnType): Promise<{ success: true; }>; toJSON(): TriggerMetadata; } /** `cronTrigger()` is set as a [Job's trigger](https://trigger.dev/docs/sdk/job) to trigger a Job on a recurring schedule using a CRON expression. * @param options An object containing options about the CRON schedule. */ export declare function cronTrigger(options: CronOptions): CronTrigger; /** DynamicSchedule options * @param id Used to uniquely identify a DynamicSchedule */ export type DynamicIntervalOptions = { id: string; }; /** DynamicSchedule` allows you to define a scheduled trigger that can be configured dynamically at runtime. */ export declare class DynamicSchedule implements Trigger { private client; private options; /** * @param client The `TriggerClient` instance to use for registering the trigger. * @param options The options for the schedule. */ constructor(client: TriggerClient, options: DynamicIntervalOptions); get id(): string; get event(): { name: string; title: string; source: string; icon: string; examples: { id: string; name: string; icon: string; payload: { ts: string; lastTimestamp: string; }; }[]; parsePayload: (data: unknown, params?: Partial) => { ts: Date; lastTimestamp?: Date | undefined; }; }; register(key: string, metadata: ScheduleMetadata): Promise<{ id: string; schedule: { options: { cron: string; }; type: "cron"; accountId?: string | undefined; metadata?: any; } | { options: { seconds: number; }; type: "interval"; accountId?: string | undefined; metadata?: any; }; active: boolean; metadata?: any; }>; unregister(key: string): Promise<{ ok: boolean; }>; attachToJob(triggerClient: TriggerClient, job: Job, any>): void; get preprocessRuns(): boolean; verifyPayload(payload: ReturnType): Promise<{ success: true; }>; toJSON(): TriggerMetadata; } export {}; //# sourceMappingURL=scheduled.d.ts.map