/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 0806f4f5400c
 */
import * as z from "zod/v4";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import { ScheduleCalendar$inboundSchema, } from "./schedulecalendar.js";
import { ScheduleFutureExecution$inboundSchema, } from "./schedulefutureexecution.js";
import { ScheduleInterval$inboundSchema, } from "./scheduleinterval.js";
import { SchedulePolicy$inboundSchema, } from "./schedulepolicy.js";
import { ScheduleRecentExecution$inboundSchema, } from "./schedulerecentexecution.js";
/** @internal */
export const ScheduleDefinitionOutput$inboundSchema = z.object({
    input: z.any(),
    calendars: z.array(ScheduleCalendar$inboundSchema).optional(),
    intervals: z.array(ScheduleInterval$inboundSchema).optional(),
    cron_expressions: z.array(z.string()).optional(),
    skip: z.array(ScheduleCalendar$inboundSchema).optional(),
    start_at: z.nullable(z.iso.datetime({ offset: true }).transform(v => new Date(v))).optional(),
    end_at: z.nullable(z.iso.datetime({ offset: true }).transform(v => new Date(v))).optional(),
    jitter: z.nullable(z.string()).optional(),
    time_zone_name: z.nullable(z.string()).optional(),
    policy: SchedulePolicy$inboundSchema.optional(),
    schedule_id: z.string(),
    remaining_executions: z.nullable(z.int()).optional(),
    workflow_name: z.string(),
    paused: z.boolean(),
    note: z.nullable(z.string()).optional(),
    future_executions: z.array(ScheduleFutureExecution$inboundSchema).optional(),
    recent_executions: z.array(ScheduleRecentExecution$inboundSchema).optional(),
}).transform((v) => {
    return remap$(v, {
        "cron_expressions": "cronExpressions",
        "start_at": "startAt",
        "end_at": "endAt",
        "time_zone_name": "timeZoneName",
        "schedule_id": "scheduleId",
        "remaining_executions": "remainingExecutions",
        "workflow_name": "workflowName",
        "future_executions": "futureExecutions",
        "recent_executions": "recentExecutions",
    });
});
export function scheduleDefinitionOutputFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ScheduleDefinitionOutput$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ScheduleDefinitionOutput' from JSON`);
}
//# sourceMappingURL=scheduledefinitionoutput.js.map