import type { ProjectCommandOptions, RemoteCommandContext } from "../remote/commands/util.js"; import type { RemoteArgsOptions } from "../remote/args.js"; import type { CreateScheduleInput, PatchScheduleInput } from "../statelog/schedulesClient.js"; export type DeployMode = "if-missing" | "always" | "never"; export type AddRemoteOptions = ProjectCommandOptions & RemoteArgsOptions & { node?: string; function?: string; every?: string; cron?: string; timezone?: string; name?: string; redeploy?: boolean; /** Commander's `--no-deploy` value: `false` when the flag was passed. */ deploy?: boolean; }; export type ResolvedScheduleAdd = { input: CreateScheduleInput; deployMode: DeployMode; }; /** Translate `schedule add --backend remote` options into a create request and * a deployment policy. Pure: every invalid combination throws before any * target resolution or network work can happen. */ export declare function resolveScheduleAdd(file: string, options: AddRemoteOptions, defaultTimezone: string): ResolvedScheduleAdd; export declare function addRemote(file: string, options: AddRemoteOptions, context: RemoteCommandContext): Promise; export type EditRemoteOptions = ProjectCommandOptions & { every?: string; cron?: string; timezone?: string; enabled?: boolean; disabled?: boolean; }; /** Translate edit flags into the server's PATCH body. Only cadence, timezone, * and enabled are patchable — target, name, and args are immutable on the * server (delete and re-add to change them). Pure; throws on any invalid or * empty combination. */ export declare function resolveSchedulePatch(options: EditRemoteOptions): PatchScheduleInput; export declare function listRemote(options: ProjectCommandOptions, context: RemoteCommandContext): Promise; export declare function removeRemote(id: string, options: ProjectCommandOptions, context: RemoteCommandContext): Promise; export declare function editRemote(id: string, options: EditRemoteOptions, context: RemoteCommandContext): Promise;