/**
 * Cloudflare WAITING-ROOMS API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service waiting-rooms
 */
import * as Schema from "effect/Schema";
import * as API from "../client/api.js";
import * as T from "../traits.js";
import {} from "../errors.js";
export const GetEventRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    eventId: Schema.String.pipe(T.HttpPath("eventId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events/{eventId}",
}));
export const GetEventResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    eventEndTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    eventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const getEvent = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetEventRequest,
    output: GetEventResponse,
    errors: [],
}));
export const ListEventsRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    page: Schema.optional(Schema.Number).pipe(T.HttpQuery("page")),
    perPage: Schema.optional(Schema.Number).pipe(T.HttpQuery("per_page")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events",
}));
export const ListEventsResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        eventEndTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        eventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        shuffleAtEventStart: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        turnstileAction: Schema.optional(Schema.Union([
            Schema.Literal("log"),
            Schema.Literal("infinite_queue"),
            Schema.Null,
        ])),
        turnstileMode: Schema.optional(Schema.Union([
            Schema.Literal("off"),
            Schema.Literal("invisible"),
            Schema.Literal("visible_non_interactive"),
            Schema.Literal("visible_managed"),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        createdOn: "created_on",
        customPageHtml: "custom_page_html",
        description: "description",
        disableSessionRenewal: "disable_session_renewal",
        eventEndTime: "event_end_time",
        eventStartTime: "event_start_time",
        modifiedOn: "modified_on",
        name: "name",
        newUsersPerMinute: "new_users_per_minute",
        prequeueStartTime: "prequeue_start_time",
        queueingMethod: "queueing_method",
        sessionDuration: "session_duration",
        shuffleAtEventStart: "shuffle_at_event_start",
        suspended: "suspended",
        totalActiveUsers: "total_active_users",
        turnstileAction: "turnstile_action",
        turnstileMode: "turnstile_mode",
    }))),
    resultInfo: Schema.optional(Schema.Union([
        Schema.Struct({
            count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            totalCount: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            count: "count",
            page: "page",
            perPage: "per_page",
            totalCount: "total_count",
        })),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({ result: "result", resultInfo: "result_info" }));
export const listEvents = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListEventsRequest,
    output: ListEventsResponse,
    errors: [],
    pagination: {
        mode: "page",
        inputToken: "page",
        outputToken: "resultInfo.page",
        items: "result",
        pageSize: "perPage",
    },
}));
export const CreateEventRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    eventEndTime: Schema.String,
    eventStartTime: Schema.String,
    name: Schema.String,
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.String),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Boolean),
    suspended: Schema.optional(Schema.Boolean),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    name: "name",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}), T.Http({
    method: "POST",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events",
}));
export const CreateEventResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    eventEndTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    eventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const createEvent = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateEventRequest,
    output: CreateEventResponse,
    errors: [],
}));
export const UpdateEventRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    eventId: Schema.String.pipe(T.HttpPath("eventId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    eventEndTime: Schema.String,
    eventStartTime: Schema.String,
    name: Schema.String,
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.String),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Boolean),
    suspended: Schema.optional(Schema.Boolean),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    name: "name",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}), T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events/{eventId}",
}));
export const UpdateEventResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    eventEndTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    eventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const updateEvent = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateEventRequest,
    output: UpdateEventResponse,
    errors: [],
}));
export const PatchEventRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    eventId: Schema.String.pipe(T.HttpPath("eventId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    eventEndTime: Schema.String,
    eventStartTime: Schema.String,
    name: Schema.String,
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.String),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Boolean),
    suspended: Schema.optional(Schema.Boolean),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    name: "name",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}), T.Http({
    method: "PATCH",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events/{eventId}",
}));
export const PatchEventResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    eventEndTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    eventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([
        Schema.Literal("log"),
        Schema.Literal("infinite_queue"),
        Schema.Null,
    ])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literal("off"),
        Schema.Literal("invisible"),
        Schema.Literal("visible_non_interactive"),
        Schema.Literal("visible_managed"),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const patchEvent = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PatchEventRequest,
    output: PatchEventResponse,
    errors: [],
}));
export const DeleteEventRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    eventId: Schema.String.pipe(T.HttpPath("eventId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "DELETE",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events/{eventId}",
}));
export const DeleteEventResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const deleteEvent = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeleteEventRequest,
    output: DeleteEventResponse,
    errors: [],
}));
export const GetEventDetailRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    eventId: Schema.String.pipe(T.HttpPath("eventId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/events/{eventId}/details",
}));
export const GetEventDetailResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    eventEndTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    eventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    prequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    shuffleAtEventStart: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    eventEndTime: "event_end_time",
    eventStartTime: "event_start_time",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    prequeueStartTime: "prequeue_start_time",
    queueingMethod: "queueing_method",
    sessionDuration: "session_duration",
    shuffleAtEventStart: "shuffle_at_event_start",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
}))
    .pipe(T.ResponsePath("result"));
export const getEventDetail = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetEventDetailRequest,
    output: GetEventDetailResponse,
    errors: [],
}));
export const PreviewPageRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    customHtml: Schema.String,
}).pipe(Schema.encodeKeys({ customHtml: "custom_html" }), T.Http({ method: "POST", path: "/zones/{zone_id}/waiting_rooms/preview" }));
export const PreviewPageResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    previewUrl: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
})
    .pipe(Schema.encodeKeys({ previewUrl: "preview_url" }))
    .pipe(T.ResponsePath("result"));
export const previewPage = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PreviewPageRequest,
    output: PreviewPageResponse,
    errors: [],
}));
export const GetRuleRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/rules",
}));
export const GetRuleResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        action: Schema.optional(Schema.Union([Schema.Literal("bypass_waiting_room"), Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        enabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        expression: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        lastUpdated: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        version: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        action: "action",
        description: "description",
        enabled: "enabled",
        expression: "expression",
        lastUpdated: "last_updated",
        version: "version",
    }))),
});
export const getRule = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: GetRuleRequest,
    output: GetRuleResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const CreateRuleRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    rules: Schema.Struct({
        action: Schema.Literal("bypass_waiting_room"),
        expression: Schema.String,
        description: Schema.optional(Schema.String),
        enabled: Schema.optional(Schema.Boolean),
    }),
}).pipe(T.Http({
    method: "POST",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/rules",
}));
export const CreateRuleResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        action: Schema.optional(Schema.Union([Schema.Literal("bypass_waiting_room"), Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        enabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        expression: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        lastUpdated: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        version: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        action: "action",
        description: "description",
        enabled: "enabled",
        expression: "expression",
        lastUpdated: "last_updated",
        version: "version",
    }))),
});
export const createRule = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: CreateRuleRequest,
    output: CreateRuleResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const UpdateRuleRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    rules: Schema.Array(Schema.Struct({
        action: Schema.Literal("bypass_waiting_room"),
        expression: Schema.String,
        description: Schema.optional(Schema.String),
        enabled: Schema.optional(Schema.Boolean),
    })),
}).pipe(T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/rules",
}));
export const UpdateRuleResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        action: Schema.optional(Schema.Union([Schema.Literal("bypass_waiting_room"), Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        enabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        expression: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        lastUpdated: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        version: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        action: "action",
        description: "description",
        enabled: "enabled",
        expression: "expression",
        lastUpdated: "last_updated",
        version: "version",
    }))),
});
export const updateRule = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: UpdateRuleRequest,
    output: UpdateRuleResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const PatchRuleRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    ruleId: Schema.String.pipe(T.HttpPath("ruleId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    action: Schema.Literal("bypass_waiting_room"),
    expression: Schema.String,
    description: Schema.optional(Schema.String),
    enabled: Schema.optional(Schema.Boolean),
    position: Schema.optional(Schema.Union([
        Schema.Struct({
            index: Schema.optional(Schema.Number),
        }),
        Schema.Struct({
            before: Schema.optional(Schema.String),
        }),
        Schema.Struct({
            after: Schema.optional(Schema.String),
        }),
    ])),
}).pipe(T.Http({
    method: "PATCH",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/rules/{ruleId}",
}));
export const PatchRuleResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        action: Schema.optional(Schema.Union([Schema.Literal("bypass_waiting_room"), Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        enabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        expression: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        lastUpdated: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        version: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        action: "action",
        description: "description",
        enabled: "enabled",
        expression: "expression",
        lastUpdated: "last_updated",
        version: "version",
    }))),
});
export const patchRule = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: PatchRuleRequest,
    output: PatchRuleResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const DeleteRuleRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    ruleId: Schema.String.pipe(T.HttpPath("ruleId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "DELETE",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/rules/{ruleId}",
}));
export const DeleteRuleResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        action: Schema.optional(Schema.Union([Schema.Literal("bypass_waiting_room"), Schema.Null])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        enabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        expression: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        lastUpdated: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        version: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        action: "action",
        description: "description",
        enabled: "enabled",
        expression: "expression",
        lastUpdated: "last_updated",
        version: "version",
    }))),
});
export const deleteRule = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: DeleteRuleRequest,
    output: DeleteRuleResponse,
    errors: [],
    pagination: {
        mode: "single",
        items: "result",
    },
}));
export const GetSettingRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({ method: "GET", path: "/zones/{zone_id}/waiting_rooms/settings" }));
export const GetSettingResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    searchEngineCrawlerBypass: Schema.Boolean,
})
    .pipe(Schema.encodeKeys({
    searchEngineCrawlerBypass: "search_engine_crawler_bypass",
}))
    .pipe(T.ResponsePath("result"));
export const getSetting = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetSettingRequest,
    output: GetSettingResponse,
    errors: [],
}));
export const PutSettingRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    searchEngineCrawlerBypass: Schema.optional(Schema.Boolean),
}).pipe(Schema.encodeKeys({
    searchEngineCrawlerBypass: "search_engine_crawler_bypass",
}), T.Http({ method: "PUT", path: "/zones/{zone_id}/waiting_rooms/settings" }));
export const PutSettingResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    searchEngineCrawlerBypass: Schema.Boolean,
})
    .pipe(Schema.encodeKeys({
    searchEngineCrawlerBypass: "search_engine_crawler_bypass",
}))
    .pipe(T.ResponsePath("result"));
export const putSetting = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutSettingRequest,
    output: PutSettingResponse,
    errors: [],
}));
export const PatchSettingRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    searchEngineCrawlerBypass: Schema.optional(Schema.Boolean),
}).pipe(Schema.encodeKeys({
    searchEngineCrawlerBypass: "search_engine_crawler_bypass",
}), T.Http({ method: "PATCH", path: "/zones/{zone_id}/waiting_rooms/settings" }));
export const PatchSettingResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    searchEngineCrawlerBypass: Schema.Boolean,
})
    .pipe(Schema.encodeKeys({
    searchEngineCrawlerBypass: "search_engine_crawler_bypass",
}))
    .pipe(T.ResponsePath("result"));
export const patchSetting = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PatchSettingRequest,
    output: PatchSettingResponse,
    errors: [],
}));
export const GetStatusRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}/status",
}));
export const GetStatusResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    estimatedQueuedUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    estimatedTotalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    eventId: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    maxEstimatedTimeMinutes: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    status: Schema.optional(Schema.Union([
        Schema.Literals([
            "event_prequeueing",
            "not_queueing",
            "queueing",
            "suspended",
        ]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    estimatedQueuedUsers: "estimated_queued_users",
    estimatedTotalActiveUsers: "estimated_total_active_users",
    eventId: "event_id",
    maxEstimatedTimeMinutes: "max_estimated_time_minutes",
    status: "status",
}))
    .pipe(T.ResponsePath("result"));
export const getStatus = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetStatusRequest,
    output: GetStatusResponse,
    errors: [],
}));
export const GetWaitingRoomRequest = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "GET",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}",
}));
export const GetWaitingRoomResponse = /*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    additionalRoutes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        })),
        Schema.Null,
    ])),
    cookieAttributes: Schema.optional(Schema.Union([
        Schema.Struct({
            samesite: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "lax", "none", "strict"]),
                Schema.Null,
            ])),
            secure: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "always", "never"]),
                Schema.Null,
            ])),
        }),
        Schema.Null,
    ])),
    cookieSuffix: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    defaultTemplateLanguage: Schema.optional(Schema.Union([
        Schema.Literals([
            "en-US",
            "es-ES",
            "de-DE",
            "fr-FR",
            "it-IT",
            "ja-JP",
            "ko-KR",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "nl-NL",
            "pl-PL",
            "id-ID",
            "tr-TR",
            "ar-EG",
            "ru-RU",
            "fa-IR",
            "bg-BG",
            "hr-HR",
            "cs-CZ",
            "da-DK",
            "fi-FI",
            "lt-LT",
            "ms-MY",
            "nb-NO",
            "ro-RO",
            "el-GR",
            "he-IL",
            "hi-IN",
            "hu-HU",
            "sr-BA",
            "sk-SK",
            "sl-SI",
            "sv-SE",
            "tl-PH",
            "th-TH",
            "uk-UA",
            "vi-VN",
        ]),
        Schema.Null,
    ])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    enabledOriginCommands: Schema.optional(Schema.Union([Schema.Array(Schema.Literal("revoke")), Schema.Null])),
    host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    jsonResponseEnabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    nextEventPrequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    nextEventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueAll: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([
        Schema.Literals(["fifo", "random", "passthrough", "reject"]),
        Schema.Null,
    ])),
    queueingStatusCode: Schema.optional(Schema.Union([Schema.Literals(["200", "202", "429"]), Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([Schema.Literals(["log", "infinite_queue"]), Schema.Null])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literals([
            "off",
            "invisible",
            "visible_non_interactive",
            "visible_managed",
        ]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    host: "host",
    jsonResponseEnabled: "json_response_enabled",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    nextEventPrequeueStartTime: "next_event_prequeue_start_time",
    nextEventStartTime: "next_event_start_time",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const getWaitingRoom = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetWaitingRoomRequest,
    output: GetWaitingRoomResponse,
    errors: [],
}));
const ListWaitingRoomsBaseFields = {};
export const ListWaitingRoomsForAccountRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    accountId: Schema.String.pipe(T.HttpPath("account_id")),
    ...ListWaitingRoomsBaseFields,
}).pipe(T.Http({ method: "GET", path: "/accounts/{account_id}/waiting_rooms" }));
export const ListWaitingRoomsForZoneRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    ...ListWaitingRoomsBaseFields,
}).pipe(T.Http({ method: "GET", path: "/zones/{zone_id}/waiting_rooms" }));
export const ListWaitingRoomsResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    result: Schema.Array(Schema.Struct({
        id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        additionalRoutes: Schema.optional(Schema.Union([
            Schema.Array(Schema.Struct({
                host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
                path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            })),
            Schema.Null,
        ])),
        cookieAttributes: Schema.optional(Schema.Union([
            Schema.Struct({
                samesite: Schema.optional(Schema.Union([
                    Schema.Literals(["auto", "lax", "none", "strict"]),
                    Schema.Null,
                ])),
                secure: Schema.optional(Schema.Union([
                    Schema.Literals(["auto", "always", "never"]),
                    Schema.Null,
                ])),
            }),
            Schema.Null,
        ])),
        cookieSuffix: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        defaultTemplateLanguage: Schema.optional(Schema.Union([
            Schema.Literals([
                "en-US",
                "es-ES",
                "de-DE",
                "fr-FR",
                "it-IT",
                "ja-JP",
                "ko-KR",
                "pt-BR",
                "zh-CN",
                "zh-TW",
                "nl-NL",
                "pl-PL",
                "id-ID",
                "tr-TR",
                "ar-EG",
                "ru-RU",
                "fa-IR",
                "bg-BG",
                "hr-HR",
                "cs-CZ",
                "da-DK",
                "fi-FI",
                "lt-LT",
                "ms-MY",
                "nb-NO",
                "ro-RO",
                "el-GR",
                "he-IL",
                "hi-IN",
                "hu-HU",
                "sr-BA",
                "sk-SK",
                "sl-SI",
                "sv-SE",
                "tl-PH",
                "th-TH",
                "uk-UA",
                "vi-VN",
            ]),
            Schema.Null,
        ])),
        description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        enabledOriginCommands: Schema.optional(Schema.Union([Schema.Array(Schema.Literal("revoke")), Schema.Null])),
        host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        jsonResponseEnabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        nextEventPrequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        nextEventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        queueAll: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        queueingMethod: Schema.optional(Schema.Union([
            Schema.Literals(["fifo", "random", "passthrough", "reject"]),
            Schema.Null,
        ])),
        queueingStatusCode: Schema.optional(Schema.Union([Schema.Literals(["200", "202", "429"]), Schema.Null])),
        sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
        totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        turnstileAction: Schema.optional(Schema.Union([
            Schema.Literals(["log", "infinite_queue"]),
            Schema.Null,
        ])),
        turnstileMode: Schema.optional(Schema.Union([
            Schema.Literals([
                "off",
                "invisible",
                "visible_non_interactive",
                "visible_managed",
            ]),
            Schema.Null,
        ])),
    }).pipe(Schema.encodeKeys({
        id: "id",
        additionalRoutes: "additional_routes",
        cookieAttributes: "cookie_attributes",
        cookieSuffix: "cookie_suffix",
        createdOn: "created_on",
        customPageHtml: "custom_page_html",
        defaultTemplateLanguage: "default_template_language",
        description: "description",
        disableSessionRenewal: "disable_session_renewal",
        enabledOriginCommands: "enabled_origin_commands",
        host: "host",
        jsonResponseEnabled: "json_response_enabled",
        modifiedOn: "modified_on",
        name: "name",
        newUsersPerMinute: "new_users_per_minute",
        nextEventPrequeueStartTime: "next_event_prequeue_start_time",
        nextEventStartTime: "next_event_start_time",
        path: "path",
        queueAll: "queue_all",
        queueingMethod: "queueing_method",
        queueingStatusCode: "queueing_status_code",
        sessionDuration: "session_duration",
        suspended: "suspended",
        totalActiveUsers: "total_active_users",
        turnstileAction: "turnstile_action",
        turnstileMode: "turnstile_mode",
    }))),
    resultInfo: Schema.optional(Schema.Union([
        Schema.Struct({
            count: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            page: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            perPage: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
            totalCount: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
        }).pipe(Schema.encodeKeys({
            count: "count",
            page: "page",
            perPage: "per_page",
            totalCount: "total_count",
        })),
        Schema.Null,
    ])),
}).pipe(Schema.encodeKeys({ result: "result", resultInfo: "result_info" }));
export const listWaitingRoomsForAccount = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListWaitingRoomsForAccountRequest,
    output: ListWaitingRoomsResponse,
    errors: [],
    pagination: {
        mode: "page",
        inputToken: "page",
        outputToken: "resultInfo.page",
        items: "result",
        pageSize: "perPage",
    },
}));
export const listWaitingRoomsForZone = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListWaitingRoomsForZoneRequest,
    output: ListWaitingRoomsResponse,
    errors: [],
    pagination: {
        mode: "page",
        inputToken: "page",
        outputToken: "resultInfo.page",
        items: "result",
        pageSize: "perPage",
    },
}));
export const CreateWaitingRoomRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    host: Schema.String,
    name: Schema.String,
    newUsersPerMinute: Schema.Number,
    totalActiveUsers: Schema.Number,
    additionalRoutes: Schema.optional(Schema.Array(Schema.Struct({
        host: Schema.optional(Schema.String),
        path: Schema.optional(Schema.String),
    }))),
    cookieAttributes: Schema.optional(Schema.Struct({
        samesite: Schema.optional(Schema.Literals(["auto", "lax", "none", "strict"])),
        secure: Schema.optional(Schema.Literals(["auto", "always", "never"])),
    })),
    cookieSuffix: Schema.optional(Schema.String),
    customPageHtml: Schema.optional(Schema.String),
    defaultTemplateLanguage: Schema.optional(Schema.Literals([
        "en-US",
        "es-ES",
        "de-DE",
        "fr-FR",
        "it-IT",
        "ja-JP",
        "ko-KR",
        "pt-BR",
        "zh-CN",
        "zh-TW",
        "nl-NL",
        "pl-PL",
        "id-ID",
        "tr-TR",
        "ar-EG",
        "ru-RU",
        "fa-IR",
        "bg-BG",
        "hr-HR",
        "cs-CZ",
        "da-DK",
        "fi-FI",
        "lt-LT",
        "ms-MY",
        "nb-NO",
        "ro-RO",
        "el-GR",
        "he-IL",
        "hi-IN",
        "hu-HU",
        "sr-BA",
        "sk-SK",
        "sl-SI",
        "sv-SE",
        "tl-PH",
        "th-TH",
        "uk-UA",
        "vi-VN",
    ])),
    description: Schema.optional(Schema.String),
    disableSessionRenewal: Schema.optional(Schema.Boolean),
    enabledOriginCommands: Schema.optional(Schema.Array(Schema.Literal("revoke"))),
    jsonResponseEnabled: Schema.optional(Schema.Boolean),
    path: Schema.optional(Schema.String),
    queueAll: Schema.optional(Schema.Boolean),
    queueingMethod: Schema.optional(Schema.Literals(["fifo", "random", "passthrough", "reject"])),
    queueingStatusCode: Schema.optional(Schema.Literals(["200", "202", "429"])),
    sessionDuration: Schema.optional(Schema.Number),
    suspended: Schema.optional(Schema.Boolean),
    turnstileAction: Schema.optional(Schema.Literals(["log", "infinite_queue"])),
    turnstileMode: Schema.optional(Schema.Literals([
        "off",
        "invisible",
        "visible_non_interactive",
        "visible_managed",
    ])),
}).pipe(Schema.encodeKeys({
    host: "host",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    totalActiveUsers: "total_active_users",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    jsonResponseEnabled: "json_response_enabled",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}), T.Http({ method: "POST", path: "/zones/{zone_id}/waiting_rooms" }));
export const CreateWaitingRoomResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    additionalRoutes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        })),
        Schema.Null,
    ])),
    cookieAttributes: Schema.optional(Schema.Union([
        Schema.Struct({
            samesite: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "lax", "none", "strict"]),
                Schema.Null,
            ])),
            secure: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "always", "never"]),
                Schema.Null,
            ])),
        }),
        Schema.Null,
    ])),
    cookieSuffix: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    defaultTemplateLanguage: Schema.optional(Schema.Union([
        Schema.Literals([
            "en-US",
            "es-ES",
            "de-DE",
            "fr-FR",
            "it-IT",
            "ja-JP",
            "ko-KR",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "nl-NL",
            "pl-PL",
            "id-ID",
            "tr-TR",
            "ar-EG",
            "ru-RU",
            "fa-IR",
            "bg-BG",
            "hr-HR",
            "cs-CZ",
            "da-DK",
            "fi-FI",
            "lt-LT",
            "ms-MY",
            "nb-NO",
            "ro-RO",
            "el-GR",
            "he-IL",
            "hi-IN",
            "hu-HU",
            "sr-BA",
            "sk-SK",
            "sl-SI",
            "sv-SE",
            "tl-PH",
            "th-TH",
            "uk-UA",
            "vi-VN",
        ]),
        Schema.Null,
    ])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    enabledOriginCommands: Schema.optional(Schema.Union([Schema.Array(Schema.Literal("revoke")), Schema.Null])),
    host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    jsonResponseEnabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    nextEventPrequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    nextEventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueAll: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([
        Schema.Literals(["fifo", "random", "passthrough", "reject"]),
        Schema.Null,
    ])),
    queueingStatusCode: Schema.optional(Schema.Union([Schema.Literals(["200", "202", "429"]), Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([Schema.Literals(["log", "infinite_queue"]), Schema.Null])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literals([
            "off",
            "invisible",
            "visible_non_interactive",
            "visible_managed",
        ]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    host: "host",
    jsonResponseEnabled: "json_response_enabled",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    nextEventPrequeueStartTime: "next_event_prequeue_start_time",
    nextEventStartTime: "next_event_start_time",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const createWaitingRoom = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateWaitingRoomRequest,
    output: CreateWaitingRoomResponse,
    errors: [],
}));
export const UpdateWaitingRoomRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    host: Schema.String,
    name: Schema.String,
    newUsersPerMinute: Schema.Number,
    totalActiveUsers: Schema.Number,
    additionalRoutes: Schema.optional(Schema.Array(Schema.Struct({
        host: Schema.optional(Schema.String),
        path: Schema.optional(Schema.String),
    }))),
    cookieAttributes: Schema.optional(Schema.Struct({
        samesite: Schema.optional(Schema.Literals(["auto", "lax", "none", "strict"])),
        secure: Schema.optional(Schema.Literals(["auto", "always", "never"])),
    })),
    cookieSuffix: Schema.optional(Schema.String),
    customPageHtml: Schema.optional(Schema.String),
    defaultTemplateLanguage: Schema.optional(Schema.Literals([
        "en-US",
        "es-ES",
        "de-DE",
        "fr-FR",
        "it-IT",
        "ja-JP",
        "ko-KR",
        "pt-BR",
        "zh-CN",
        "zh-TW",
        "nl-NL",
        "pl-PL",
        "id-ID",
        "tr-TR",
        "ar-EG",
        "ru-RU",
        "fa-IR",
        "bg-BG",
        "hr-HR",
        "cs-CZ",
        "da-DK",
        "fi-FI",
        "lt-LT",
        "ms-MY",
        "nb-NO",
        "ro-RO",
        "el-GR",
        "he-IL",
        "hi-IN",
        "hu-HU",
        "sr-BA",
        "sk-SK",
        "sl-SI",
        "sv-SE",
        "tl-PH",
        "th-TH",
        "uk-UA",
        "vi-VN",
    ])),
    description: Schema.optional(Schema.String),
    disableSessionRenewal: Schema.optional(Schema.Boolean),
    enabledOriginCommands: Schema.optional(Schema.Array(Schema.Literal("revoke"))),
    jsonResponseEnabled: Schema.optional(Schema.Boolean),
    path: Schema.optional(Schema.String),
    queueAll: Schema.optional(Schema.Boolean),
    queueingMethod: Schema.optional(Schema.Literals(["fifo", "random", "passthrough", "reject"])),
    queueingStatusCode: Schema.optional(Schema.Literals(["200", "202", "429"])),
    sessionDuration: Schema.optional(Schema.Number),
    suspended: Schema.optional(Schema.Boolean),
    turnstileAction: Schema.optional(Schema.Literals(["log", "infinite_queue"])),
    turnstileMode: Schema.optional(Schema.Literals([
        "off",
        "invisible",
        "visible_non_interactive",
        "visible_managed",
    ])),
}).pipe(Schema.encodeKeys({
    host: "host",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    totalActiveUsers: "total_active_users",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    jsonResponseEnabled: "json_response_enabled",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}), T.Http({
    method: "PUT",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}",
}));
export const UpdateWaitingRoomResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    additionalRoutes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        })),
        Schema.Null,
    ])),
    cookieAttributes: Schema.optional(Schema.Union([
        Schema.Struct({
            samesite: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "lax", "none", "strict"]),
                Schema.Null,
            ])),
            secure: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "always", "never"]),
                Schema.Null,
            ])),
        }),
        Schema.Null,
    ])),
    cookieSuffix: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    defaultTemplateLanguage: Schema.optional(Schema.Union([
        Schema.Literals([
            "en-US",
            "es-ES",
            "de-DE",
            "fr-FR",
            "it-IT",
            "ja-JP",
            "ko-KR",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "nl-NL",
            "pl-PL",
            "id-ID",
            "tr-TR",
            "ar-EG",
            "ru-RU",
            "fa-IR",
            "bg-BG",
            "hr-HR",
            "cs-CZ",
            "da-DK",
            "fi-FI",
            "lt-LT",
            "ms-MY",
            "nb-NO",
            "ro-RO",
            "el-GR",
            "he-IL",
            "hi-IN",
            "hu-HU",
            "sr-BA",
            "sk-SK",
            "sl-SI",
            "sv-SE",
            "tl-PH",
            "th-TH",
            "uk-UA",
            "vi-VN",
        ]),
        Schema.Null,
    ])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    enabledOriginCommands: Schema.optional(Schema.Union([Schema.Array(Schema.Literal("revoke")), Schema.Null])),
    host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    jsonResponseEnabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    nextEventPrequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    nextEventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueAll: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([
        Schema.Literals(["fifo", "random", "passthrough", "reject"]),
        Schema.Null,
    ])),
    queueingStatusCode: Schema.optional(Schema.Union([Schema.Literals(["200", "202", "429"]), Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([Schema.Literals(["log", "infinite_queue"]), Schema.Null])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literals([
            "off",
            "invisible",
            "visible_non_interactive",
            "visible_managed",
        ]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    host: "host",
    jsonResponseEnabled: "json_response_enabled",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    nextEventPrequeueStartTime: "next_event_prequeue_start_time",
    nextEventStartTime: "next_event_start_time",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const updateWaitingRoom = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateWaitingRoomRequest,
    output: UpdateWaitingRoomResponse,
    errors: [],
}));
export const PatchWaitingRoomRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
    host: Schema.String,
    name: Schema.String,
    newUsersPerMinute: Schema.Number,
    totalActiveUsers: Schema.Number,
    additionalRoutes: Schema.optional(Schema.Array(Schema.Struct({
        host: Schema.optional(Schema.String),
        path: Schema.optional(Schema.String),
    }))),
    cookieAttributes: Schema.optional(Schema.Struct({
        samesite: Schema.optional(Schema.Literals(["auto", "lax", "none", "strict"])),
        secure: Schema.optional(Schema.Literals(["auto", "always", "never"])),
    })),
    cookieSuffix: Schema.optional(Schema.String),
    customPageHtml: Schema.optional(Schema.String),
    defaultTemplateLanguage: Schema.optional(Schema.Literals([
        "en-US",
        "es-ES",
        "de-DE",
        "fr-FR",
        "it-IT",
        "ja-JP",
        "ko-KR",
        "pt-BR",
        "zh-CN",
        "zh-TW",
        "nl-NL",
        "pl-PL",
        "id-ID",
        "tr-TR",
        "ar-EG",
        "ru-RU",
        "fa-IR",
        "bg-BG",
        "hr-HR",
        "cs-CZ",
        "da-DK",
        "fi-FI",
        "lt-LT",
        "ms-MY",
        "nb-NO",
        "ro-RO",
        "el-GR",
        "he-IL",
        "hi-IN",
        "hu-HU",
        "sr-BA",
        "sk-SK",
        "sl-SI",
        "sv-SE",
        "tl-PH",
        "th-TH",
        "uk-UA",
        "vi-VN",
    ])),
    description: Schema.optional(Schema.String),
    disableSessionRenewal: Schema.optional(Schema.Boolean),
    enabledOriginCommands: Schema.optional(Schema.Array(Schema.Literal("revoke"))),
    jsonResponseEnabled: Schema.optional(Schema.Boolean),
    path: Schema.optional(Schema.String),
    queueAll: Schema.optional(Schema.Boolean),
    queueingMethod: Schema.optional(Schema.Literals(["fifo", "random", "passthrough", "reject"])),
    queueingStatusCode: Schema.optional(Schema.Literals(["200", "202", "429"])),
    sessionDuration: Schema.optional(Schema.Number),
    suspended: Schema.optional(Schema.Boolean),
    turnstileAction: Schema.optional(Schema.Literals(["log", "infinite_queue"])),
    turnstileMode: Schema.optional(Schema.Literals([
        "off",
        "invisible",
        "visible_non_interactive",
        "visible_managed",
    ])),
}).pipe(Schema.encodeKeys({
    host: "host",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    totalActiveUsers: "total_active_users",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    jsonResponseEnabled: "json_response_enabled",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}), T.Http({
    method: "PATCH",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}",
}));
export const PatchWaitingRoomResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    additionalRoutes: Schema.optional(Schema.Union([
        Schema.Array(Schema.Struct({
            host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
            path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
        })),
        Schema.Null,
    ])),
    cookieAttributes: Schema.optional(Schema.Union([
        Schema.Struct({
            samesite: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "lax", "none", "strict"]),
                Schema.Null,
            ])),
            secure: Schema.optional(Schema.Union([
                Schema.Literals(["auto", "always", "never"]),
                Schema.Null,
            ])),
        }),
        Schema.Null,
    ])),
    cookieSuffix: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    createdOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    customPageHtml: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    defaultTemplateLanguage: Schema.optional(Schema.Union([
        Schema.Literals([
            "en-US",
            "es-ES",
            "de-DE",
            "fr-FR",
            "it-IT",
            "ja-JP",
            "ko-KR",
            "pt-BR",
            "zh-CN",
            "zh-TW",
            "nl-NL",
            "pl-PL",
            "id-ID",
            "tr-TR",
            "ar-EG",
            "ru-RU",
            "fa-IR",
            "bg-BG",
            "hr-HR",
            "cs-CZ",
            "da-DK",
            "fi-FI",
            "lt-LT",
            "ms-MY",
            "nb-NO",
            "ro-RO",
            "el-GR",
            "he-IL",
            "hi-IN",
            "hu-HU",
            "sr-BA",
            "sk-SK",
            "sl-SI",
            "sv-SE",
            "tl-PH",
            "th-TH",
            "uk-UA",
            "vi-VN",
        ]),
        Schema.Null,
    ])),
    description: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    disableSessionRenewal: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    enabledOriginCommands: Schema.optional(Schema.Union([Schema.Array(Schema.Literal("revoke")), Schema.Null])),
    host: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    jsonResponseEnabled: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    modifiedOn: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    name: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    newUsersPerMinute: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    nextEventPrequeueStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    nextEventStartTime: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    path: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
    queueAll: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    queueingMethod: Schema.optional(Schema.Union([
        Schema.Literals(["fifo", "random", "passthrough", "reject"]),
        Schema.Null,
    ])),
    queueingStatusCode: Schema.optional(Schema.Union([Schema.Literals(["200", "202", "429"]), Schema.Null])),
    sessionDuration: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    suspended: Schema.optional(Schema.Union([Schema.Boolean, Schema.Null])),
    totalActiveUsers: Schema.optional(Schema.Union([Schema.Number, Schema.Null])),
    turnstileAction: Schema.optional(Schema.Union([Schema.Literals(["log", "infinite_queue"]), Schema.Null])),
    turnstileMode: Schema.optional(Schema.Union([
        Schema.Literals([
            "off",
            "invisible",
            "visible_non_interactive",
            "visible_managed",
        ]),
        Schema.Null,
    ])),
})
    .pipe(Schema.encodeKeys({
    id: "id",
    additionalRoutes: "additional_routes",
    cookieAttributes: "cookie_attributes",
    cookieSuffix: "cookie_suffix",
    createdOn: "created_on",
    customPageHtml: "custom_page_html",
    defaultTemplateLanguage: "default_template_language",
    description: "description",
    disableSessionRenewal: "disable_session_renewal",
    enabledOriginCommands: "enabled_origin_commands",
    host: "host",
    jsonResponseEnabled: "json_response_enabled",
    modifiedOn: "modified_on",
    name: "name",
    newUsersPerMinute: "new_users_per_minute",
    nextEventPrequeueStartTime: "next_event_prequeue_start_time",
    nextEventStartTime: "next_event_start_time",
    path: "path",
    queueAll: "queue_all",
    queueingMethod: "queueing_method",
    queueingStatusCode: "queueing_status_code",
    sessionDuration: "session_duration",
    suspended: "suspended",
    totalActiveUsers: "total_active_users",
    turnstileAction: "turnstile_action",
    turnstileMode: "turnstile_mode",
}))
    .pipe(T.ResponsePath("result"));
export const patchWaitingRoom = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PatchWaitingRoomRequest,
    output: PatchWaitingRoomResponse,
    errors: [],
}));
export const DeleteWaitingRoomRequest = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    waitingRoomId: Schema.String.pipe(T.HttpPath("waitingRoomId")),
    zoneId: Schema.String.pipe(T.HttpPath("zone_id")),
}).pipe(T.Http({
    method: "DELETE",
    path: "/zones/{zone_id}/waiting_rooms/{waitingRoomId}",
}));
export const DeleteWaitingRoomResponse = 
/*@__PURE__*/ /*#__PURE__*/ Schema.Struct({
    id: Schema.optional(Schema.Union([Schema.String, Schema.Null])),
}).pipe(T.ResponsePath("result"));
export const deleteWaitingRoom = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DeleteWaitingRoomRequest,
    output: DeleteWaitingRoomResponse,
    errors: [],
}));
//# sourceMappingURL=waiting-rooms.js.map