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";
/**
 * Schedule type. cron uses 6-field cron expressions; interval uses @every <duration>; once uses @at <RFC3339-UTC>.
 */
export declare const CreateAgentScheduleType: {
    readonly Cron: "cron";
    readonly Once: "once";
    readonly Interval: "interval";
};
/**
 * Schedule type. cron uses 6-field cron expressions; interval uses @every <duration>; once uses @at <RFC3339-UTC>.
 */
export type CreateAgentScheduleType = ClosedEnum<typeof CreateAgentScheduleType>;
export type CreateAgentScheduleRequestBody = {
    /**
     * Pin this schedule to a specific agent version. Omit to always use the active version.
     */
    agentTag?: string | undefined;
    /**
     * Schedule expression. Examples: cron '0 0 9 * * mon-fri' (9am UTC weekdays), interval '@every 1h', once '@at 2026-05-01T09:00:00Z'. Minimum firing cadence is 1 hour for cron and interval.
     */
    expression: string;
    payload: components.PublicSchedulePayload;
    /**
     * Schedule type. cron uses 6-field cron expressions; interval uses @every <duration>; once uses @at <RFC3339-UTC>.
     */
    type: CreateAgentScheduleType;
};
export type CreateAgentScheduleRequest = {
    /**
     * The unique routing key of the agent the schedule belongs to.
     */
    agentKey: string;
    requestBody: CreateAgentScheduleRequestBody;
};
/**
 * Schedule type.
 */
export declare const CreateAgentScheduleSchedulesType: {
    readonly Cron: "cron";
    readonly Once: "once";
    readonly Interval: "interval";
};
/**
 * Schedule type.
 */
export type CreateAgentScheduleSchedulesType = ClosedEnum<typeof CreateAgentScheduleSchedulesType>;
/**
 * Schedule created.
 */
export type CreateAgentScheduleResponseBody = {
    /**
     * 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: CreateAgentScheduleSchedulesType;
    updated: Date;
};
/** @internal */
export declare const CreateAgentScheduleType$outboundSchema: z.ZodNativeEnum<typeof CreateAgentScheduleType>;
/** @internal */
export type CreateAgentScheduleRequestBody$Outbound = {
    agent_tag?: string | undefined;
    expression: string;
    payload: components.PublicSchedulePayload$Outbound;
    type: string;
};
/** @internal */
export declare const CreateAgentScheduleRequestBody$outboundSchema: z.ZodType<CreateAgentScheduleRequestBody$Outbound, z.ZodTypeDef, CreateAgentScheduleRequestBody>;
export declare function createAgentScheduleRequestBodyToJSON(createAgentScheduleRequestBody: CreateAgentScheduleRequestBody): string;
/** @internal */
export type CreateAgentScheduleRequest$Outbound = {
    agent_key: string;
    RequestBody: CreateAgentScheduleRequestBody$Outbound;
};
/** @internal */
export declare const CreateAgentScheduleRequest$outboundSchema: z.ZodType<CreateAgentScheduleRequest$Outbound, z.ZodTypeDef, CreateAgentScheduleRequest>;
export declare function createAgentScheduleRequestToJSON(createAgentScheduleRequest: CreateAgentScheduleRequest): string;
/** @internal */
export declare const CreateAgentScheduleSchedulesType$inboundSchema: z.ZodNativeEnum<typeof CreateAgentScheduleSchedulesType>;
/** @internal */
export declare const CreateAgentScheduleResponseBody$inboundSchema: z.ZodType<CreateAgentScheduleResponseBody, z.ZodTypeDef, unknown>;
export declare function createAgentScheduleResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateAgentScheduleResponseBody, SDKValidationError>;
//# sourceMappingURL=createagentschedule.d.ts.map