import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Change the schedule type. Changing type or expression resets the NATS schedule and bumps generation.
 */
export declare const UpdateAgentScheduleType: {
    readonly Cron: "cron";
    readonly Once: "once";
    readonly Interval: "interval";
};
/**
 * Change the schedule type. Changing type or expression resets the NATS schedule and bumps generation.
 */
export type UpdateAgentScheduleType = ClosedEnum<typeof UpdateAgentScheduleType>;
export type UpdateAgentScheduleRequestBody = {
    /**
     * Change the pinned agent version.
     */
    agentTag?: string | undefined;
    /**
     * Update the schedule expression. Minimum firing cadence is 1 hour for cron and interval.
     */
    expression?: string | undefined;
    /**
     * Activate or deactivate the schedule. Deactivating removes the NATS entry; activating re-publishes with current values.
     */
    isActive?: boolean | undefined;
    payload?: components.PublicSchedulePayload | undefined;
    /**
     * Change the schedule type. Changing type or expression resets the NATS schedule and bumps generation.
     */
    type?: UpdateAgentScheduleType | undefined;
};
export type UpdateAgentScheduleRequest = {
    /**
     * The unique routing key of the agent the schedule belongs to.
     */
    agentKey: string;
    /**
     * The schedule's ULID, as returned from create.
     */
    scheduleId: string;
    requestBody: UpdateAgentScheduleRequestBody;
};
/**
 * Schedule type.
 */
export declare const UpdateAgentScheduleSchedulesType: {
    readonly Cron: "cron";
    readonly Once: "once";
    readonly Interval: "interval";
};
/**
 * Schedule type.
 */
export type UpdateAgentScheduleSchedulesType = ClosedEnum<typeof UpdateAgentScheduleSchedulesType>;
/**
 * Schedule updated.
 */
export type UpdateAgentScheduleResponseBody = {
    /**
     * ULID identifying this schedule.
     */
    id: string;
    agentKey: string;
    /**
     * Pinned agent version. Omit to always run the agent's current active version.
     */
    agentTag?: string | undefined;
    created: Date;
    /**
     * ID of the API key that created the schedule.
     */
    createdById: string;
    /**
     * Cron expression (6-field, seconds required), @every duration, @at RFC3339 timestamp, or a predefined descriptor like @hourly/@daily.
     */
    expression: string;
    /**
     * Monotonic counter bumped when the schedule's firing cadence changes. Used by the consumer to skip stale in-flight triggers.
     */
    generation: number;
    /**
     * Whether the schedule is currently firing. once schedules flip to false automatically after firing.
     */
    isActive: boolean;
    /**
     * Timestamp of the most recent firing, if any.
     */
    lastTriggeredAt?: Date | undefined;
    payload: components.PublicSchedulePayload;
    /**
     * Total firings since creation or last expression/type change.
     */
    triggerCount: number;
    /**
     * Schedule type.
     */
    type: UpdateAgentScheduleSchedulesType;
    updated: Date;
    workspaceId: string;
};
/** @internal */
export declare const UpdateAgentScheduleType$outboundSchema: z.ZodNativeEnum<typeof UpdateAgentScheduleType>;
/** @internal */
export type UpdateAgentScheduleRequestBody$Outbound = {
    agent_tag?: string | undefined;
    expression?: string | undefined;
    is_active?: boolean | undefined;
    payload?: components.PublicSchedulePayload$Outbound | undefined;
    type?: string | undefined;
};
/** @internal */
export declare const UpdateAgentScheduleRequestBody$outboundSchema: z.ZodType<UpdateAgentScheduleRequestBody$Outbound, z.ZodTypeDef, UpdateAgentScheduleRequestBody>;
export declare function updateAgentScheduleRequestBodyToJSON(updateAgentScheduleRequestBody: UpdateAgentScheduleRequestBody): string;
/** @internal */
export type UpdateAgentScheduleRequest$Outbound = {
    agent_key: string;
    schedule_id: string;
    RequestBody: UpdateAgentScheduleRequestBody$Outbound;
};
/** @internal */
export declare const UpdateAgentScheduleRequest$outboundSchema: z.ZodType<UpdateAgentScheduleRequest$Outbound, z.ZodTypeDef, UpdateAgentScheduleRequest>;
export declare function updateAgentScheduleRequestToJSON(updateAgentScheduleRequest: UpdateAgentScheduleRequest): string;
/** @internal */
export declare const UpdateAgentScheduleSchedulesType$inboundSchema: z.ZodNativeEnum<typeof UpdateAgentScheduleSchedulesType>;
/** @internal */
export declare const UpdateAgentScheduleResponseBody$inboundSchema: z.ZodType<UpdateAgentScheduleResponseBody, z.ZodTypeDef, unknown>;
export declare function updateAgentScheduleResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateAgentScheduleResponseBody, SDKValidationError>;
//# sourceMappingURL=updateagentschedule.d.ts.map