import * as z from "zod/v4";
import { ScheduleCalendar, ScheduleCalendar$Outbound } from "./schedulecalendar.js";
import { ScheduleInterval, ScheduleInterval$Outbound } from "./scheduleinterval.js";
import { SchedulePolicy, SchedulePolicy$Outbound } from "./schedulepolicy.js";
/**
 * Schedule definition for partial updates.
 *
 * @remarks
 *
 * All fields are optional (inherited from _ScheduleRequestBase). Only explicitly-set
 * fields are applied during an update; unset fields preserve the existing schedule values.
 */
export type PartialScheduleDefinition = {
    /**
     * Input to provide to the workflow when starting it.
     */
    input?: any | undefined;
    /**
     * Calendar-based specification of times.
     */
    calendars?: Array<ScheduleCalendar> | undefined;
    /**
     * Interval-based specification of times.
     */
    intervals?: Array<ScheduleInterval> | undefined;
    /**
     * Cron-based specification of times.
     */
    cronExpressions?: Array<string> | undefined;
    /**
     * Set of calendar times to skip.
     */
    skip?: Array<ScheduleCalendar> | undefined;
    /**
     * Time after which the first action may be run.
     */
    startAt?: Date | null | undefined;
    /**
     * Time after which no more actions will be run.
     */
    endAt?: Date | null | undefined;
    /**
     * Jitter to apply each action.
     *
     * @remarks
     *
     * An action's scheduled time will be incremented by a random value between 0
     * and this value if present (but not past the next schedule).
     */
    jitter?: string | null | undefined;
    /**
     * IANA time zone name, for example ``US/Central``.
     */
    timeZoneName?: string | null | undefined;
    policy?: SchedulePolicy | undefined;
    /**
     * Maximum number of times this schedule will trigger a workflow execution. Once this limit is reached, no further executions are triggered automatically. null means unlimited.
     */
    maxExecutions?: number | null | undefined;
};
/** @internal */
export type PartialScheduleDefinition$Outbound = {
    input?: any | undefined;
    calendars?: Array<ScheduleCalendar$Outbound> | undefined;
    intervals?: Array<ScheduleInterval$Outbound> | undefined;
    cron_expressions?: Array<string> | undefined;
    skip?: Array<ScheduleCalendar$Outbound> | undefined;
    start_at?: string | null | undefined;
    end_at?: string | null | undefined;
    jitter?: string | null | undefined;
    time_zone_name?: string | null | undefined;
    policy?: SchedulePolicy$Outbound | undefined;
    max_executions?: number | null | undefined;
};
/** @internal */
export declare const PartialScheduleDefinition$outboundSchema: z.ZodType<PartialScheduleDefinition$Outbound, PartialScheduleDefinition>;
export declare function partialScheduleDefinitionToJSON(partialScheduleDefinition: PartialScheduleDefinition): string;
//# sourceMappingURL=partialscheduledefinition.d.ts.map