/**
 * Cloudflare CUSTOM-PAGES API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service custom-pages
 */
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";
interface GetCustomPageBaseRequest {
    identifier: "1000_errors" | "500_errors" | "basic_challenge" | "country_challenge" | "ip_block" | "managed_challenge" | "ratelimit_block" | "under_attack" | "waf_block" | "waf_challenge";
}
export interface GetCustomPageForAccountRequest extends GetCustomPageBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface GetCustomPageForZoneRequest extends GetCustomPageBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const GetCustomPageForAccountRequest: Schema.Schema<GetCustomPageForAccountRequest>;
export declare const GetCustomPageForZoneRequest: Schema.Schema<GetCustomPageForZoneRequest>;
export interface GetCustomPageResponse {
    id?: string | null;
    createdOn?: string | null;
    description?: string | null;
    modifiedOn?: string | null;
    previewTarget?: string | null;
    requiredTokens?: string[] | null;
    /** The custom page state. */
    state?: "default" | "customized" | null;
    /** The URL associated with the custom page. */
    url?: string | null;
}
export declare const GetCustomPageResponse: Schema.Schema<GetCustomPageResponse>;
export type GetCustomPageError = DefaultErrors;
export declare const getCustomPageForAccount: API.OperationMethod<GetCustomPageForAccountRequest, GetCustomPageResponse, GetCustomPageError, Credentials | HttpClient.HttpClient>;
export declare const getCustomPageForZone: API.OperationMethod<GetCustomPageForZoneRequest, GetCustomPageResponse, GetCustomPageError, Credentials | HttpClient.HttpClient>;
interface ListCustomPagesBaseRequest {
}
export interface ListCustomPagesForAccountRequest extends ListCustomPagesBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface ListCustomPagesForZoneRequest extends ListCustomPagesBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const ListCustomPagesForAccountRequest: Schema.Schema<ListCustomPagesForAccountRequest>;
export declare const ListCustomPagesForZoneRequest: Schema.Schema<ListCustomPagesForZoneRequest>;
export interface ListCustomPagesResponse {
    result: {
        id?: string | null;
        createdOn?: string | null;
        description?: string | null;
        modifiedOn?: string | null;
        previewTarget?: string | null;
        requiredTokens?: string[] | null;
        state?: "default" | "customized" | null;
        url?: string | null;
    }[];
}
export declare const ListCustomPagesResponse: Schema.Schema<ListCustomPagesResponse>;
export type ListCustomPagesError = DefaultErrors;
export declare const listCustomPagesForAccount: API.PaginatedOperationMethod<ListCustomPagesForAccountRequest, ListCustomPagesResponse, ListCustomPagesError, Credentials | HttpClient.HttpClient>;
export declare const listCustomPagesForZone: API.PaginatedOperationMethod<ListCustomPagesForZoneRequest, ListCustomPagesResponse, ListCustomPagesError, Credentials | HttpClient.HttpClient>;
interface PutCustomPageBaseRequest {
    identifier: "1000_errors" | "500_errors" | "basic_challenge" | "country_challenge" | "ip_block" | "managed_challenge" | "ratelimit_block" | "under_attack" | "waf_block" | "waf_challenge";
    /** Body param: The custom page state. */
    state: "default" | "customized";
    /** Body param: The URL associated with the custom page. */
    url: string;
}
export interface PutCustomPageForAccountRequest extends PutCustomPageBaseRequest {
    /** Path param: The Account ID to use for this endpoint. */
    accountId: string;
}
export interface PutCustomPageForZoneRequest extends PutCustomPageBaseRequest {
    /** Path param: The Zone ID to use for this endpoint. */
    zoneId: string;
}
export declare const PutCustomPageForAccountRequest: Schema.Schema<PutCustomPageForAccountRequest>;
export declare const PutCustomPageForZoneRequest: Schema.Schema<PutCustomPageForZoneRequest>;
export interface PutCustomPageResponse {
    id?: string | null;
    createdOn?: string | null;
    description?: string | null;
    modifiedOn?: string | null;
    previewTarget?: string | null;
    requiredTokens?: string[] | null;
    /** The custom page state. */
    state?: "default" | "customized" | null;
    /** The URL associated with the custom page. */
    url?: string | null;
}
export declare const PutCustomPageResponse: Schema.Schema<PutCustomPageResponse>;
export type PutCustomPageError = DefaultErrors;
export declare const putCustomPageForAccount: API.OperationMethod<PutCustomPageForAccountRequest, PutCustomPageResponse, PutCustomPageError, Credentials | HttpClient.HttpClient>;
export declare const putCustomPageForZone: API.OperationMethod<PutCustomPageForZoneRequest, PutCustomPageResponse, PutCustomPageError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=custom-pages.d.ts.map