export interface AutomationAtSchedule { readonly kind: 'at'; readonly at: number; } export interface AutomationEverySchedule { readonly kind: 'every'; readonly intervalMs: number; readonly anchorAt?: number | undefined; } export interface AutomationCronSchedule { readonly kind: 'cron'; readonly expression: string; readonly timezone?: string | undefined; readonly staggerMs?: number | undefined; } export type AutomationScheduleDefinition = AutomationAtSchedule | AutomationEverySchedule | AutomationCronSchedule; export type AutomationScheduleKind = AutomationScheduleDefinition['kind']; export declare const DEFAULT_TOP_OF_HOUR_STAGGER_MS: number; export declare function parseEveryInterval(input: string): number; export declare function formatEveryInterval(intervalMs: number): string; export declare function isRecurringTopOfHourCronExpression(expression: string): boolean; export declare function normalizeCronStaggerMs(raw: unknown): number | undefined; export declare function resolveDefaultCronStaggerMs(expression: string): number | undefined; export declare function resolveAutomationCronStaggerMs(schedule: AutomationCronSchedule): number; export declare function resolveStableAutomationCronOffsetMs(stableId: string | undefined, staggerMs: number): number; export declare function validateSchedule(schedule: AutomationScheduleDefinition): void; export declare function normalizeAtSchedule(at: number): AutomationAtSchedule; export declare function normalizeEverySchedule(interval: string | number, anchorAt?: number): AutomationEverySchedule; export declare function normalizeCronSchedule(expression: string, timezone?: string, staggerMs?: unknown): AutomationCronSchedule; export declare function getNextAutomationOccurrence(schedule: AutomationScheduleDefinition, fromMs?: number, stableId?: string): number | undefined; export declare function isAutomationDue(schedule: AutomationScheduleDefinition, nextRunAt: number | undefined, now?: number): boolean; //# sourceMappingURL=schedules.d.ts.map