import type { ScheduleOptions, ScheduleSpec, StartOrSignalSignal } from '../core/types.ts'; import type { ClientStartOptions, ClientStartOrSignalOptions } from './interface.ts'; export declare function setIfDefined(body: Record, key: string, value: unknown): void; /** * Translate a schedule recurrence specification into the wire body fields the * REST/JSON-RPC schedule operations accept. A bare string is sent as * `cronExpression`; an interval spec is sent as `every`. */ export declare function scheduleSpecToWireFields(spec: string | ScheduleSpec): Record; /** Build a schedule-create wire body from the explicitly supported option fields. */ export declare function buildScheduleBody(type: string, input: unknown, spec: string | ScheduleSpec, options?: ScheduleOptions): Record; export declare function buildStartBody(type: string, input: unknown, options?: ClientStartOptions): Record; /** * Build the wire body for `weft.workflows.startorsignal`. Flattens the signal * spec into `signalName` / `signalPayload` / `signalId` and carries the same * start options as {@link buildStartBody}. */ export declare function buildStartOrSignalBody(type: string, input: unknown, signal: StartOrSignalSignal, options?: ClientStartOrSignalOptions): Record;