/**
 * 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 type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors } from "../errors.ts";
export interface GetEventRequest {
    waitingRoomId: string;
    eventId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetEventRequest: Schema.Schema<GetEventRequest>;
export interface GetEventResponse {
    id?: string | null;
    createdOn?: string | null;
    /** If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** A note that you can use to add more details about the event. */
    description?: string | null;
    /** If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime?: string | null;
    /** An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time` */
    eventStartTime?: string | null;
    modifiedOn?: string | null;
    /** A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` prop */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the even */
    shuffleAtEventStart?: boolean | null;
    /** Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean | null;
    /** If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` prop */
    totalActiveUsers?: number | null;
    /** If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const GetEventResponse: Schema.Schema<GetEventResponse>;
export type GetEventError = DefaultErrors;
export declare const getEvent: API.OperationMethod<GetEventRequest, GetEventResponse, GetEventError, Credentials | HttpClient.HttpClient>;
export interface ListEventsRequest {
    waitingRoomId: string;
    /** Path param: Identifier. */
    zoneId: string;
    page?: number;
    perPage?: number;
}
export declare const ListEventsRequest: Schema.Schema<ListEventsRequest>;
export interface ListEventsResponse {
    result: {
        id?: string | null;
        createdOn?: string | null;
        customPageHtml?: string | null;
        description?: string | null;
        disableSessionRenewal?: boolean | null;
        eventEndTime?: string | null;
        eventStartTime?: string | null;
        modifiedOn?: string | null;
        name?: string | null;
        newUsersPerMinute?: number | null;
        prequeueStartTime?: string | null;
        queueingMethod?: string | null;
        sessionDuration?: number | null;
        shuffleAtEventStart?: boolean | null;
        suspended?: boolean | null;
        totalActiveUsers?: number | null;
        turnstileAction?: "log" | "infinite_queue" | null;
        turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListEventsResponse: Schema.Schema<ListEventsResponse>;
export type ListEventsError = DefaultErrors;
export declare const listEvents: API.PaginatedOperationMethod<ListEventsRequest, ListEventsResponse, ListEventsError, Credentials | HttpClient.HttpClient>;
export interface CreateEventRequest {
    waitingRoomId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime: string;
    /** Body param: An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `eve */
    eventStartTime: string;
    /** Body param: A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name: string;
    /** Body param: If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** Body param: A note that you can use to add more details about the event. */
    description?: string;
    /** Body param: If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** Body param: If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active */
    newUsersPerMinute?: number | null;
    /** Body param: An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** Body param: If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** Body param: If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** Body param: If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will j */
    shuffleAtEventStart?: boolean;
    /** Body param: Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean;
    /** Body param: If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_ */
    totalActiveUsers?: number | null;
    /** Body param: If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Body param: If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const CreateEventRequest: Schema.Schema<CreateEventRequest>;
export interface CreateEventResponse {
    id?: string | null;
    createdOn?: string | null;
    /** If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** A note that you can use to add more details about the event. */
    description?: string | null;
    /** If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime?: string | null;
    /** An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time` */
    eventStartTime?: string | null;
    modifiedOn?: string | null;
    /** A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` prop */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the even */
    shuffleAtEventStart?: boolean | null;
    /** Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean | null;
    /** If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` prop */
    totalActiveUsers?: number | null;
    /** If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const CreateEventResponse: Schema.Schema<CreateEventResponse>;
export type CreateEventError = DefaultErrors;
export declare const createEvent: API.OperationMethod<CreateEventRequest, CreateEventResponse, CreateEventError, Credentials | HttpClient.HttpClient>;
export interface UpdateEventRequest {
    waitingRoomId: string;
    eventId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime: string;
    /** Body param: An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `eve */
    eventStartTime: string;
    /** Body param: A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name: string;
    /** Body param: If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** Body param: A note that you can use to add more details about the event. */
    description?: string;
    /** Body param: If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** Body param: If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active */
    newUsersPerMinute?: number | null;
    /** Body param: An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** Body param: If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** Body param: If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** Body param: If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will j */
    shuffleAtEventStart?: boolean;
    /** Body param: Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean;
    /** Body param: If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_ */
    totalActiveUsers?: number | null;
    /** Body param: If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Body param: If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const UpdateEventRequest: Schema.Schema<UpdateEventRequest>;
export interface UpdateEventResponse {
    id?: string | null;
    createdOn?: string | null;
    /** If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** A note that you can use to add more details about the event. */
    description?: string | null;
    /** If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime?: string | null;
    /** An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time` */
    eventStartTime?: string | null;
    modifiedOn?: string | null;
    /** A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` prop */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the even */
    shuffleAtEventStart?: boolean | null;
    /** Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean | null;
    /** If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` prop */
    totalActiveUsers?: number | null;
    /** If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const UpdateEventResponse: Schema.Schema<UpdateEventResponse>;
export type UpdateEventError = DefaultErrors;
export declare const updateEvent: API.OperationMethod<UpdateEventRequest, UpdateEventResponse, UpdateEventError, Credentials | HttpClient.HttpClient>;
export interface PatchEventRequest {
    waitingRoomId: string;
    eventId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime: string;
    /** Body param: An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `eve */
    eventStartTime: string;
    /** Body param: A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name: string;
    /** Body param: If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** Body param: A note that you can use to add more details about the event. */
    description?: string;
    /** Body param: If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** Body param: If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active */
    newUsersPerMinute?: number | null;
    /** Body param: An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** Body param: If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** Body param: If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** Body param: If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will j */
    shuffleAtEventStart?: boolean;
    /** Body param: Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean;
    /** Body param: If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_ */
    totalActiveUsers?: number | null;
    /** Body param: If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Body param: If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const PatchEventRequest: Schema.Schema<PatchEventRequest>;
export interface PatchEventResponse {
    id?: string | null;
    createdOn?: string | null;
    /** If set, the event will override the waiting room's `custom_page_html` property while it is active. If null, the event will inherit it. */
    customPageHtml?: string | null;
    /** A note that you can use to add more details about the event. */
    description?: string | null;
    /** If set, the event will override the waiting room's `disable_session_renewal` property while it is active. If null, the event will inherit it. */
    disableSessionRenewal?: boolean | null;
    /** An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime?: string | null;
    /** An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time` */
    eventStartTime?: string | null;
    modifiedOn?: string | null;
    /** A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** If set, the event will override the waiting room's `new_users_per_minute` property while it is active. If null, the event will inherit it. This can only be set if the event's `total_active_users` prop */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    /** If set, the event will override the waiting room's `queueing_method` property while it is active. If null, the event will inherit it. */
    queueingMethod?: string | null;
    /** If set, the event will override the waiting room's `session_duration` property while it is active. If null, the event will inherit it. */
    sessionDuration?: number | null;
    /** If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the even */
    shuffleAtEventStart?: boolean | null;
    /** Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean | null;
    /** If set, the event will override the waiting room's `total_active_users` property while it is active. If null, the event will inherit it. This can only be set if the event's `new_users_per_minute` prop */
    totalActiveUsers?: number | null;
    /** If set, the event will override the waiting room's `turnstile_action` property while it is active. If null, the event will inherit it. */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** If set, the event will override the waiting room's `turnstile_mode` property while it is active. If null, the event will inherit it. */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const PatchEventResponse: Schema.Schema<PatchEventResponse>;
export type PatchEventError = DefaultErrors;
export declare const patchEvent: API.OperationMethod<PatchEventRequest, PatchEventResponse, PatchEventError, Credentials | HttpClient.HttpClient>;
export interface DeleteEventRequest {
    waitingRoomId: string;
    eventId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteEventRequest: Schema.Schema<DeleteEventRequest>;
export interface DeleteEventResponse {
    id?: string | null;
}
export declare const DeleteEventResponse: Schema.Schema<DeleteEventResponse>;
export type DeleteEventError = DefaultErrors;
export declare const deleteEvent: API.OperationMethod<DeleteEventRequest, DeleteEventResponse, DeleteEventError, Credentials | HttpClient.HttpClient>;
export interface GetEventDetailRequest {
    waitingRoomId: string;
    eventId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetEventDetailRequest: Schema.Schema<GetEventDetailRequest>;
export interface GetEventDetailResponse {
    id?: string | null;
    createdOn?: string | null;
    customPageHtml?: string | null;
    /** A note that you can use to add more details about the event. */
    description?: string | null;
    disableSessionRenewal?: boolean | null;
    /** An ISO 8601 timestamp that marks the end of the event. */
    eventEndTime?: string | null;
    /** An ISO 8601 timestamp that marks the start of the event. At this time, queued users will be processed with the event's configuration. The start time must be at least one minute before `event_end_time` */
    eventStartTime?: string | null;
    modifiedOn?: string | null;
    /** A unique name to identify the event. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when to begin queueing all users before the event starts. The prequeue must start at least five minutes before `event_start_time`. */
    prequeueStartTime?: string | null;
    queueingMethod?: string | null;
    sessionDuration?: number | null;
    /** If enabled, users in the prequeue will be shuffled randomly at the `event_start_time`. Requires that `prequeue_start_time` is not null. This is useful for situations when many users will join the even */
    shuffleAtEventStart?: boolean | null;
    /** Suspends or allows an event. If set to `true`, the event is ignored and traffic will be handled based on the waiting room configuration. */
    suspended?: boolean | null;
    totalActiveUsers?: number | null;
}
export declare const GetEventDetailResponse: Schema.Schema<GetEventDetailResponse>;
export type GetEventDetailError = DefaultErrors;
export declare const getEventDetail: API.OperationMethod<GetEventDetailRequest, GetEventDetailResponse, GetEventDetailError, Credentials | HttpClient.HttpClient>;
export interface PreviewPageRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will */
    customHtml: string;
}
export declare const PreviewPageRequest: Schema.Schema<PreviewPageRequest>;
export interface PreviewPageResponse {
    /** URL where the custom waiting room page can temporarily be previewed. */
    previewUrl?: string | null;
}
export declare const PreviewPageResponse: Schema.Schema<PreviewPageResponse>;
export type PreviewPageError = DefaultErrors;
export declare const previewPage: API.OperationMethod<PreviewPageRequest, PreviewPageResponse, PreviewPageError, Credentials | HttpClient.HttpClient>;
export interface GetRuleRequest {
    waitingRoomId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetRuleRequest: Schema.Schema<GetRuleRequest>;
export interface GetRuleResponse {
    result: {
        id?: string | null;
        action?: "bypass_waiting_room" | null;
        description?: string | null;
        enabled?: boolean | null;
        expression?: string | null;
        lastUpdated?: string | null;
        version?: string | null;
    }[];
}
export declare const GetRuleResponse: Schema.Schema<GetRuleResponse>;
export type GetRuleError = DefaultErrors;
export declare const getRule: API.PaginatedOperationMethod<GetRuleRequest, GetRuleResponse, GetRuleError, Credentials | HttpClient.HttpClient>;
export interface CreateRuleRequest {
    waitingRoomId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: */
    rules: {
        action: "bypass_waiting_room";
        expression: string;
        description?: string;
        enabled?: boolean;
    };
}
export declare const CreateRuleRequest: Schema.Schema<CreateRuleRequest>;
export interface CreateRuleResponse {
    result: {
        id?: string | null;
        action?: "bypass_waiting_room" | null;
        description?: string | null;
        enabled?: boolean | null;
        expression?: string | null;
        lastUpdated?: string | null;
        version?: string | null;
    }[];
}
export declare const CreateRuleResponse: Schema.Schema<CreateRuleResponse>;
export type CreateRuleError = DefaultErrors;
export declare const createRule: API.PaginatedOperationMethod<CreateRuleRequest, CreateRuleResponse, CreateRuleError, Credentials | HttpClient.HttpClient>;
export interface UpdateRuleRequest {
    waitingRoomId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: */
    rules: {
        action: "bypass_waiting_room";
        expression: string;
        description?: string;
        enabled?: boolean;
    }[];
}
export declare const UpdateRuleRequest: Schema.Schema<UpdateRuleRequest>;
export interface UpdateRuleResponse {
    result: {
        id?: string | null;
        action?: "bypass_waiting_room" | null;
        description?: string | null;
        enabled?: boolean | null;
        expression?: string | null;
        lastUpdated?: string | null;
        version?: string | null;
    }[];
}
export declare const UpdateRuleResponse: Schema.Schema<UpdateRuleResponse>;
export type UpdateRuleError = DefaultErrors;
export declare const updateRule: API.PaginatedOperationMethod<UpdateRuleRequest, UpdateRuleResponse, UpdateRuleError, Credentials | HttpClient.HttpClient>;
export interface PatchRuleRequest {
    waitingRoomId: string;
    ruleId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The action to take when the expression matches. */
    action: "bypass_waiting_room";
    /** Body param: Criteria defining when there is a match for the current rule. */
    expression: string;
    /** Body param: The description of the rule. */
    description?: string;
    /** Body param: When set to true, the rule is enabled. */
    enabled?: boolean;
    /** Body param: Reorder the position of a rule */
    position?: {
        index?: number;
    } | {
        before?: string;
    } | {
        after?: string;
    };
}
export declare const PatchRuleRequest: Schema.Schema<PatchRuleRequest>;
export interface PatchRuleResponse {
    result: {
        id?: string | null;
        action?: "bypass_waiting_room" | null;
        description?: string | null;
        enabled?: boolean | null;
        expression?: string | null;
        lastUpdated?: string | null;
        version?: string | null;
    }[];
}
export declare const PatchRuleResponse: Schema.Schema<PatchRuleResponse>;
export type PatchRuleError = DefaultErrors;
export declare const patchRule: API.PaginatedOperationMethod<PatchRuleRequest, PatchRuleResponse, PatchRuleError, Credentials | HttpClient.HttpClient>;
export interface DeleteRuleRequest {
    waitingRoomId: string;
    ruleId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteRuleRequest: Schema.Schema<DeleteRuleRequest>;
export interface DeleteRuleResponse {
    result: {
        id?: string | null;
        action?: "bypass_waiting_room" | null;
        description?: string | null;
        enabled?: boolean | null;
        expression?: string | null;
        lastUpdated?: string | null;
        version?: string | null;
    }[];
}
export declare const DeleteRuleResponse: Schema.Schema<DeleteRuleResponse>;
export type DeleteRuleError = DefaultErrors;
export declare const deleteRule: API.PaginatedOperationMethod<DeleteRuleRequest, DeleteRuleResponse, DeleteRuleError, Credentials | HttpClient.HttpClient>;
export interface GetSettingRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetSettingRequest: Schema.Schema<GetSettingRequest>;
export interface GetSettingResponse {
    /** Whether to allow verified search engine crawlers to bypass all waiting rooms on this zone. Verified search engine crawlers will not be tracked or counted by the waiting room system, and will not appea */
    searchEngineCrawlerBypass: boolean;
}
export declare const GetSettingResponse: Schema.Schema<GetSettingResponse>;
export type GetSettingError = DefaultErrors;
export declare const getSetting: API.OperationMethod<GetSettingRequest, GetSettingResponse, GetSettingError, Credentials | HttpClient.HttpClient>;
export interface PutSettingRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Whether to allow verified search engine crawlers to bypass all waiting rooms on this zone. Verified search engine crawlers will not be tracked or counted by the waiting room system, and wi */
    searchEngineCrawlerBypass?: boolean;
}
export declare const PutSettingRequest: Schema.Schema<PutSettingRequest>;
export interface PutSettingResponse {
    /** Whether to allow verified search engine crawlers to bypass all waiting rooms on this zone. Verified search engine crawlers will not be tracked or counted by the waiting room system, and will not appea */
    searchEngineCrawlerBypass: boolean;
}
export declare const PutSettingResponse: Schema.Schema<PutSettingResponse>;
export type PutSettingError = DefaultErrors;
export declare const putSetting: API.OperationMethod<PutSettingRequest, PutSettingResponse, PutSettingError, Credentials | HttpClient.HttpClient>;
export interface PatchSettingRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Whether to allow verified search engine crawlers to bypass all waiting rooms on this zone. Verified search engine crawlers will not be tracked or counted by the waiting room system, and wi */
    searchEngineCrawlerBypass?: boolean;
}
export declare const PatchSettingRequest: Schema.Schema<PatchSettingRequest>;
export interface PatchSettingResponse {
    /** Whether to allow verified search engine crawlers to bypass all waiting rooms on this zone. Verified search engine crawlers will not be tracked or counted by the waiting room system, and will not appea */
    searchEngineCrawlerBypass: boolean;
}
export declare const PatchSettingResponse: Schema.Schema<PatchSettingResponse>;
export type PatchSettingError = DefaultErrors;
export declare const patchSetting: API.OperationMethod<PatchSettingRequest, PatchSettingResponse, PatchSettingError, Credentials | HttpClient.HttpClient>;
export interface GetStatusRequest {
    waitingRoomId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetStatusRequest: Schema.Schema<GetStatusRequest>;
export interface GetStatusResponse {
    estimatedQueuedUsers?: number | null;
    estimatedTotalActiveUsers?: number | null;
    eventId?: string | null;
    maxEstimatedTimeMinutes?: number | null;
    status?: "event_prequeueing" | "not_queueing" | "queueing" | "suspended" | null;
}
export declare const GetStatusResponse: Schema.Schema<GetStatusResponse>;
export type GetStatusError = DefaultErrors;
export declare const getStatus: API.OperationMethod<GetStatusRequest, GetStatusResponse, GetStatusError, Credentials | HttpClient.HttpClient>;
export interface GetWaitingRoomRequest {
    waitingRoomId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetWaitingRoomRequest: Schema.Schema<GetWaitingRoomRequest>;
export interface GetWaitingRoomResponse {
    id?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of the path. Th */
    additionalRoutes?: {
        host?: string | null;
        path?: string | null;
    }[] | null;
    /** Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict" | null;
        secure?: "auto" | "always" | "never" | null;
    } | null;
    /** Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This field is req */
    cookieSuffix?: string | null;
    createdOn?: string | null;
    /** Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. Th */
    customPageHtml?: string | null;
    /** The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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" | null;
    /** A note that you can use to add more details about the waiting room. */
    description?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, */
    disableSessionRenewal?: boolean | null;
    /** A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[] | null;
    /** The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host?: string | null;
    /** Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on th */
    jsonResponseEnabled?: boolean | null;
    modifiedOn?: string | null;
    /** A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little m */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when the next event will begin queueing. */
    nextEventPrequeueStartTime?: string | null;
    /** An ISO 8601 timestamp that marks when the next event will start. */
    nextEventStartTime?: string | null;
    /** Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the mos */
    path?: string | null;
    /** If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailabl */
    queueAll?: boolean | null;
    /** Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing m */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject" | null;
    /** HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429" | null;
    /** Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits */
    sessionDuration?: number | null;
    /** Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean | null;
    /** Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the  */
    totalActiveUsers?: number | null;
    /** Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. `infinite_que */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitions of these  */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const GetWaitingRoomResponse: Schema.Schema<GetWaitingRoomResponse>;
export type GetWaitingRoomError = DefaultErrors;
export declare const getWaitingRoom: API.OperationMethod<GetWaitingRoomRequest, GetWaitingRoomResponse, GetWaitingRoomError, Credentials | HttpClient.HttpClient>;
interface ListWaitingRoomsBaseRequest {
}
export interface ListWaitingRoomsForAccountRequest extends ListWaitingRoomsBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface ListWaitingRoomsForZoneRequest extends ListWaitingRoomsBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const ListWaitingRoomsForAccountRequest: Schema.Schema<ListWaitingRoomsForAccountRequest>;
export declare const ListWaitingRoomsForZoneRequest: Schema.Schema<ListWaitingRoomsForZoneRequest>;
export interface ListWaitingRoomsResponse {
    result: {
        id?: string | null;
        additionalRoutes?: {
            host?: string | null;
            path?: string | null;
        }[] | null;
        cookieAttributes?: {
            samesite?: "auto" | "lax" | "none" | "strict" | null;
            secure?: "auto" | "always" | "never" | null;
        } | null;
        cookieSuffix?: string | null;
        createdOn?: string | null;
        customPageHtml?: string | null;
        defaultTemplateLanguage?: "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" | null;
        description?: string | null;
        disableSessionRenewal?: boolean | null;
        enabledOriginCommands?: "revoke"[] | null;
        host?: string | null;
        jsonResponseEnabled?: boolean | null;
        modifiedOn?: string | null;
        name?: string | null;
        newUsersPerMinute?: number | null;
        nextEventPrequeueStartTime?: string | null;
        nextEventStartTime?: string | null;
        path?: string | null;
        queueAll?: boolean | null;
        queueingMethod?: "fifo" | "random" | "passthrough" | "reject" | null;
        queueingStatusCode?: "200" | "202" | "429" | null;
        sessionDuration?: number | null;
        suspended?: boolean | null;
        totalActiveUsers?: number | null;
        turnstileAction?: "log" | "infinite_queue" | null;
        turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListWaitingRoomsResponse: Schema.Schema<ListWaitingRoomsResponse>;
export type ListWaitingRoomsError = DefaultErrors;
export declare const listWaitingRoomsForAccount: API.PaginatedOperationMethod<ListWaitingRoomsForAccountRequest, ListWaitingRoomsResponse, ListWaitingRoomsError, Credentials | HttpClient.HttpClient>;
export declare const listWaitingRoomsForZone: API.PaginatedOperationMethod<ListWaitingRoomsForZoneRequest, ListWaitingRoomsResponse, ListWaitingRoomsError, Credentials | HttpClient.HttpClient>;
export interface CreateWaitingRoomRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host: string;
    /** Body param: A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name: string;
    /** Body param: Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there i */
    newUsersPerMinute: number;
    /** Body param: Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a basel */
    totalActiveUsers: number;
    /** Body param: Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of  */
    additionalRoutes?: {
        host?: string;
        path?: string;
    }[];
    /** Body param: Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict";
        secure?: "auto" | "always" | "never";
    };
    /** Body param: Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This  */
    cookieSuffix?: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will */
    customPageHtml?: string;
    /** Body param: The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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";
    /** Body param: A note that you can use to add more details about the waiting room. */
    description?: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. */
    disableSessionRenewal?: boolean;
    /** Body param: A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[];
    /** Body param: Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with infor */
    jsonResponseEnabled?: boolean;
    /** Body param: Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room */
    path?: string;
    /** Body param: If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will becom */
    queueAll?: boolean;
    /** Body param: Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of th */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject";
    /** Body param: HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429";
    /** Body param: Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user */
    sessionDuration?: number;
    /** Body param: Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean;
    /** Body param: Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. ` */
    turnstileAction?: "log" | "infinite_queue";
    /** Body param: Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitio */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed";
}
export declare const CreateWaitingRoomRequest: Schema.Schema<CreateWaitingRoomRequest>;
export interface CreateWaitingRoomResponse {
    id?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of the path. Th */
    additionalRoutes?: {
        host?: string | null;
        path?: string | null;
    }[] | null;
    /** Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict" | null;
        secure?: "auto" | "always" | "never" | null;
    } | null;
    /** Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This field is req */
    cookieSuffix?: string | null;
    createdOn?: string | null;
    /** Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. Th */
    customPageHtml?: string | null;
    /** The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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" | null;
    /** A note that you can use to add more details about the waiting room. */
    description?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, */
    disableSessionRenewal?: boolean | null;
    /** A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[] | null;
    /** The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host?: string | null;
    /** Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on th */
    jsonResponseEnabled?: boolean | null;
    modifiedOn?: string | null;
    /** A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little m */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when the next event will begin queueing. */
    nextEventPrequeueStartTime?: string | null;
    /** An ISO 8601 timestamp that marks when the next event will start. */
    nextEventStartTime?: string | null;
    /** Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the mos */
    path?: string | null;
    /** If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailabl */
    queueAll?: boolean | null;
    /** Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing m */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject" | null;
    /** HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429" | null;
    /** Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits */
    sessionDuration?: number | null;
    /** Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean | null;
    /** Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the  */
    totalActiveUsers?: number | null;
    /** Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. `infinite_que */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitions of these  */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const CreateWaitingRoomResponse: Schema.Schema<CreateWaitingRoomResponse>;
export type CreateWaitingRoomError = DefaultErrors;
export declare const createWaitingRoom: API.OperationMethod<CreateWaitingRoomRequest, CreateWaitingRoomResponse, CreateWaitingRoomError, Credentials | HttpClient.HttpClient>;
export interface UpdateWaitingRoomRequest {
    waitingRoomId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host: string;
    /** Body param: A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name: string;
    /** Body param: Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there i */
    newUsersPerMinute: number;
    /** Body param: Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a basel */
    totalActiveUsers: number;
    /** Body param: Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of  */
    additionalRoutes?: {
        host?: string;
        path?: string;
    }[];
    /** Body param: Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict";
        secure?: "auto" | "always" | "never";
    };
    /** Body param: Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This  */
    cookieSuffix?: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will */
    customPageHtml?: string;
    /** Body param: The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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";
    /** Body param: A note that you can use to add more details about the waiting room. */
    description?: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. */
    disableSessionRenewal?: boolean;
    /** Body param: A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[];
    /** Body param: Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with infor */
    jsonResponseEnabled?: boolean;
    /** Body param: Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room */
    path?: string;
    /** Body param: If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will becom */
    queueAll?: boolean;
    /** Body param: Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of th */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject";
    /** Body param: HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429";
    /** Body param: Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user */
    sessionDuration?: number;
    /** Body param: Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean;
    /** Body param: Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. ` */
    turnstileAction?: "log" | "infinite_queue";
    /** Body param: Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitio */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed";
}
export declare const UpdateWaitingRoomRequest: Schema.Schema<UpdateWaitingRoomRequest>;
export interface UpdateWaitingRoomResponse {
    id?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of the path. Th */
    additionalRoutes?: {
        host?: string | null;
        path?: string | null;
    }[] | null;
    /** Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict" | null;
        secure?: "auto" | "always" | "never" | null;
    } | null;
    /** Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This field is req */
    cookieSuffix?: string | null;
    createdOn?: string | null;
    /** Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. Th */
    customPageHtml?: string | null;
    /** The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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" | null;
    /** A note that you can use to add more details about the waiting room. */
    description?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, */
    disableSessionRenewal?: boolean | null;
    /** A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[] | null;
    /** The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host?: string | null;
    /** Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on th */
    jsonResponseEnabled?: boolean | null;
    modifiedOn?: string | null;
    /** A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little m */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when the next event will begin queueing. */
    nextEventPrequeueStartTime?: string | null;
    /** An ISO 8601 timestamp that marks when the next event will start. */
    nextEventStartTime?: string | null;
    /** Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the mos */
    path?: string | null;
    /** If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailabl */
    queueAll?: boolean | null;
    /** Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing m */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject" | null;
    /** HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429" | null;
    /** Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits */
    sessionDuration?: number | null;
    /** Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean | null;
    /** Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the  */
    totalActiveUsers?: number | null;
    /** Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. `infinite_que */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitions of these  */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const UpdateWaitingRoomResponse: Schema.Schema<UpdateWaitingRoomResponse>;
export type UpdateWaitingRoomError = DefaultErrors;
export declare const updateWaitingRoom: API.OperationMethod<UpdateWaitingRoomRequest, UpdateWaitingRoomResponse, UpdateWaitingRoomError, Credentials | HttpClient.HttpClient>;
export interface PatchWaitingRoomRequest {
    waitingRoomId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host: string;
    /** Body param: A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name: string;
    /** Body param: Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there i */
    newUsersPerMinute: number;
    /** Body param: Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a basel */
    totalActiveUsers: number;
    /** Body param: Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of  */
    additionalRoutes?: {
        host?: string;
        path?: string;
    }[];
    /** Body param: Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict";
        secure?: "auto" | "always" | "never";
    };
    /** Body param: Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This  */
    cookieSuffix?: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will */
    customPageHtml?: string;
    /** Body param: The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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";
    /** Body param: A note that you can use to add more details about the waiting room. */
    description?: string;
    /** Body param: Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. */
    disableSessionRenewal?: boolean;
    /** Body param: A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[];
    /** Body param: Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with infor */
    jsonResponseEnabled?: boolean;
    /** Body param: Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room */
    path?: string;
    /** Body param: If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will becom */
    queueAll?: boolean;
    /** Body param: Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of th */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject";
    /** Body param: HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429";
    /** Body param: Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user */
    sessionDuration?: number;
    /** Body param: Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean;
    /** Body param: Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. ` */
    turnstileAction?: "log" | "infinite_queue";
    /** Body param: Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitio */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed";
}
export declare const PatchWaitingRoomRequest: Schema.Schema<PatchWaitingRoomRequest>;
export interface PatchWaitingRoomResponse {
    id?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be applied. There is an implied wildcard at the end of the path. Th */
    additionalRoutes?: {
        host?: string | null;
        path?: string | null;
    }[] | null;
    /** Configures cookie attributes for the waiting room cookie. This encrypted cookie stores a user's status in the waiting room, such as queue position. */
    cookieAttributes?: {
        samesite?: "auto" | "lax" | "none" | "strict" | null;
        secure?: "auto" | "always" | "never" | null;
    } | null;
    /** Appends a '\_' + a custom suffix to the end of Cloudflare Waiting Room's cookie name(  cf_waitingroom). If `cookie_suffix` is "abcd", the cookie name will be `  cf_waitingroom_abcd`. This field is req */
    cookieSuffix?: string | null;
    createdOn?: string | null;
    /** Only available for the Waiting Room Advanced subscription. This is a template html file that will be rendered at the edge. If no custom_page_html is provided, the default waiting room will be used. Th */
    customPageHtml?: string | null;
    /** The language of the default page template. If no default_template_language is provided, then `en-US` (English) will be used. */
    defaultTemplateLanguage?: "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" | null;
    /** A note that you can use to add more details about the waiting room. */
    description?: string | null;
    /** Only available for the Waiting Room Advanced subscription. Disables automatic renewal of session cookies. If `true`, an accepted user will have session_duration minutes to browse the site. After that, */
    disableSessionRenewal?: boolean | null;
    /** A list of enabled origin commands. */
    enabledOriginCommands?: "revoke"[] | null;
    /** The host name to which the waiting room will be applied (no wildcards). Please do not include the scheme (http:// or https://). The host and path combination must be unique. */
    host?: string | null;
    /** Only available for the Waiting Room Advanced subscription. If `true`, requests to the waiting room with the header `Accept: application/json` will receive a JSON response object with information on th */
    jsonResponseEnabled?: boolean | null;
    modifiedOn?: string | null;
    /** A unique name to identify the waiting room. Only alphanumeric characters, hyphens and underscores are allowed. */
    name?: string | null;
    /** Sets the number of new users that will be let into the route every minute. This value is used as baseline for the number of users that are let in per minute. So it is possible that there is a little m */
    newUsersPerMinute?: number | null;
    /** An ISO 8601 timestamp that marks when the next event will begin queueing. */
    nextEventPrequeueStartTime?: string | null;
    /** An ISO 8601 timestamp that marks when the next event will start. */
    nextEventStartTime?: string | null;
    /** Sets the path within the host to enable the waiting room on. The waiting room will be enabled for all subpaths as well. If there are two waiting rooms on the same subpath, the waiting room for the mos */
    path?: string | null;
    /** If queue_all is `true`, all the traffic that is coming to a route will be sent to the waiting room. No new traffic can get to the route once this field is set and estimated time will become unavailabl */
    queueAll?: boolean | null;
    /** Sets the queueing method used by the waiting room. Changing this parameter from the  default  queueing method is only available for the Waiting Room Advanced subscription. Regardless of the queueing m */
    queueingMethod?: "fifo" | "random" | "passthrough" | "reject" | null;
    /** HTTP status code returned to a user while in the queue. */
    queueingStatusCode?: "200" | "202" | "429" | null;
    /** Lifetime of a cookie (in minutes) set by Cloudflare for users who get access to the route. If a user is not seen by Cloudflare again in that time period, they will be treated as a new user that visits */
    sessionDuration?: number | null;
    /** Suspends or allows traffic going to the waiting room. If set to `true`, the traffic will not go to the waiting room. */
    suspended?: boolean | null;
    /** Sets the total number of active user sessions on the route at a point in time. A route is a combination of host and path on which a waiting room is available. This value is used as a baseline for the  */
    totalActiveUsers?: number | null;
    /** Which action to take when a bot is detected using Turnstile. `log` will have no impact on queueing behavior, simply keeping track of how many bots are detected in Waiting Room Analytics. `infinite_que */
    turnstileAction?: "log" | "infinite_queue" | null;
    /** Which Turnstile widget type to use for detecting bot traffic. See [the Turnstile documentation](https://developers.cloudflare.com/turnstile/concepts/widget/#widget-types) for the definitions of these  */
    turnstileMode?: "off" | "invisible" | "visible_non_interactive" | "visible_managed" | null;
}
export declare const PatchWaitingRoomResponse: Schema.Schema<PatchWaitingRoomResponse>;
export type PatchWaitingRoomError = DefaultErrors;
export declare const patchWaitingRoom: API.OperationMethod<PatchWaitingRoomRequest, PatchWaitingRoomResponse, PatchWaitingRoomError, Credentials | HttpClient.HttpClient>;
export interface DeleteWaitingRoomRequest {
    waitingRoomId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteWaitingRoomRequest: Schema.Schema<DeleteWaitingRoomRequest>;
export interface DeleteWaitingRoomResponse {
    id?: string | null;
}
export declare const DeleteWaitingRoomResponse: Schema.Schema<DeleteWaitingRoomResponse>;
export type DeleteWaitingRoomError = DefaultErrors;
export declare const deleteWaitingRoom: API.OperationMethod<DeleteWaitingRoomRequest, DeleteWaitingRoomResponse, DeleteWaitingRoomError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=waiting-rooms.d.ts.map