type FarmCronSchedule = string | string[]; interface FarmCronJobConfig { /** Portable five-field cron expression, or a list of expressions. */ schedule: FarmCronSchedule; /** Farm API route invoked with GET when the schedule fires. */ path: string; /** Human-readable purpose shown by local tooling and deployment manifests. */ description?: string; /** Disable this schedule without removing its configuration. */ enabled?: boolean; } type FarmCronUserConfig = Record; interface FarmCronJob { name: string; schedule: string[]; path: string; description?: string; } interface FarmCronResolvedConfig { enabled: boolean; secretEnv: typeof DEFAULT_FARM_CRON_SECRET_ENV; jobs: FarmCronJob[]; } interface PreparedFarmCron { jobs: FarmCronJob[]; tasks: Record; scheduledTasks: Record; manifestPath?: string; } interface FarmCronRouteOptions { /** Environment variable containing the bearer token. */ secretEnv?: string; /** Inline token, primarily useful in tests. Environment variables are preferred. */ secret?: string; /** Allow a production route without a secret. Defaults to false. */ allowUnsecured?: boolean; } interface FarmCronCloudflareConfig { deployConfig: true; wrangler: { triggers: { crons: string[]; }; }; } declare const DEFAULT_FARM_CRON_SECRET_ENV = "CRON_SECRET"; declare const FARM_CRON_MANIFEST = "cron-manifest.json"; declare function resolveCronConfig(cron: FarmCronResolvedConfig | FarmCronUserConfig | false | undefined): FarmCronResolvedConfig; declare function prepareFarmCronForNitro(config: { root?: string; distDir?: string; cron?: FarmCronResolvedConfig | FarmCronUserConfig | false; }): Promise; declare function createFarmCronManifest(cron: FarmCronResolvedConfig): { schemaVersion: number; secretEnv: "CRON_SECRET"; jobs: { name: string; schedule: string[]; path: string; description: string | null; }[]; }; declare function createFarmCronVercelCrons(jobs: FarmCronJob[]): Array<{ path: string; schedule: string; }>; declare function applyFarmCronVercelCrons(vercelConfig: Record, jobs: FarmCronJob[]): Record; declare function createFarmCronCloudflareTriggers(jobs: FarmCronJob[]): string[]; declare function createFarmCronCloudflareConfig(jobs: FarmCronJob[]): FarmCronCloudflareConfig | undefined; declare function mergeScheduledTasks(...maps: Array | undefined>): Record; declare function isCronRequestAuthorized(request: Request, options?: FarmCronRouteOptions): boolean; declare function cronRoute(handler: (request: Request, ...args: TArgs) => TResult, options?: FarmCronRouteOptions): (request: Request, ...args: TArgs) => TResult | Promise; export { DEFAULT_FARM_CRON_SECRET_ENV, FARM_CRON_MANIFEST, type FarmCronCloudflareConfig, type FarmCronJob, type FarmCronJobConfig, type FarmCronResolvedConfig, type FarmCronRouteOptions, type FarmCronSchedule, type FarmCronUserConfig, type PreparedFarmCron, applyFarmCronVercelCrons, createFarmCronCloudflareConfig, createFarmCronCloudflareTriggers, createFarmCronManifest, createFarmCronVercelCrons, cronRoute, isCronRequestAuthorized, mergeScheduledTasks, prepareFarmCronForNitro, resolveCronConfig };