/**
 * Cloudflare PAGE-RULES API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service page-rules
 */
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 GetPageRuleRequest {
    pageruleId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetPageRuleRequest: Schema.Schema<GetPageRuleRequest>;
export interface GetPageRuleResponse {
    /** Identifier. */
    id: string;
    /** The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions: ({
        id?: "always_use_https" | null;
    } | {
        id?: "automatic_https_rewrites" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "browser_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "browser_check" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "bypass_cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_by_device_type" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_deception_armor" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_key_fields" | null;
        value?: {
            cookie?: {
                checkPresence?: string[] | null;
                include?: string[] | null;
            } | null;
            header?: {
                checkPresence?: string[] | null;
                exclude?: string[] | null;
                include?: string[] | null;
            } | null;
            host?: {
                resolved?: boolean | null;
            } | null;
            queryString?: {
                exclude?: "*" | string[] | null;
                include?: "*" | string[] | null;
            } | null;
            user?: {
                deviceType?: boolean | null;
                geo?: boolean | null;
                lang?: boolean | null;
            } | null;
        } | null;
    } | {
        id?: "cache_level" | null;
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything" | null;
    } | {
        id?: "cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_ttl_by_status" | null;
        value?: Record<string, unknown> | null;
    } | {
        id?: "disable_apps" | null;
    } | {
        id?: "disable_performance" | null;
    } | {
        id?: "disable_security" | null;
    } | {
        id?: "disable_zaraz" | null;
    } | {
        id?: "edge_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "email_obfuscation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "explicit_cache_control" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "forwarding_url" | null;
        value?: {
            statusCode?: "301" | "302" | null;
            url?: string | null;
        } | null;
    } | {
        id?: "host_header_override" | null;
        value?: string | null;
    } | {
        id?: "ip_geolocation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "mirage" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "opportunistic_encryption" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "origin_error_page_pass_thru" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "polish" | null;
        value?: "off" | "lossless" | "lossy" | null;
    } | {
        id?: "resolve_override" | null;
        value?: string | null;
    } | {
        id?: "respect_strong_etag" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "response_buffering" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "rocket_loader" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "security_level" | null;
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | null;
    } | {
        id?: "sort_query_string_for_cache" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "ssl" | null;
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull" | null;
    } | {
        id?: "true_client_ip_header" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "waf" | null;
        value?: "on" | "off" | null;
    })[];
    /** The timestamp of when the Page Rule was created. */
    createdOn: string;
    /** The timestamp of when the Page Rule was last modified. */
    modifiedOn: string;
    /** The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/images/ `) bu */
    priority: number;
    /** The status of the Page Rule. */
    status: "active" | "disabled";
    /** The rule targets to evaluate on each request. */
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        } | null;
        target?: "url" | null;
    }[];
}
export declare const GetPageRuleResponse: Schema.Schema<GetPageRuleResponse>;
export type GetPageRuleError = DefaultErrors;
export declare const getPageRule: API.OperationMethod<GetPageRuleRequest, GetPageRuleResponse, GetPageRuleError, Credentials | HttpClient.HttpClient>;
export interface ListPageRulesRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Query param: The direction used to sort returned Page Rules. */
    direction?: "asc" | "desc";
    /** Query param: When set to `all`, all the search requirements must match. When set to `any`, only one of the search requirements has to match. */
    match?: "any" | "all";
    /** Query param: The field used to sort returned Page Rules. */
    order?: "status" | "priority";
    /** Query param: The status of the Page Rule. */
    status?: "active" | "disabled";
}
export declare const ListPageRulesRequest: Schema.Schema<ListPageRulesRequest>;
export type ListPageRulesResponse = {
    id: string;
    actions: ({
        id?: "always_use_https" | null;
    } | {
        id?: "automatic_https_rewrites" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "browser_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "browser_check" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "bypass_cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_by_device_type" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_deception_armor" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_key_fields" | null;
        value?: {
            cookie?: {
                checkPresence?: string[] | null;
                include?: string[] | null;
            } | null;
            header?: {
                checkPresence?: string[] | null;
                exclude?: string[] | null;
                include?: string[] | null;
            } | null;
            host?: {
                resolved?: boolean | null;
            } | null;
            queryString?: {
                exclude?: "*" | string[] | null;
                include?: "*" | string[] | null;
            } | null;
            user?: {
                deviceType?: boolean | null;
                geo?: boolean | null;
                lang?: boolean | null;
            } | null;
        } | null;
    } | {
        id?: "cache_level" | null;
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything" | null;
    } | {
        id?: "cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_ttl_by_status" | null;
        value?: Record<string, unknown> | null;
    } | {
        id?: "disable_apps" | null;
    } | {
        id?: "disable_performance" | null;
    } | {
        id?: "disable_security" | null;
    } | {
        id?: "disable_zaraz" | null;
    } | {
        id?: "edge_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "email_obfuscation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "explicit_cache_control" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "forwarding_url" | null;
        value?: {
            statusCode?: "301" | "302" | null;
            url?: string | null;
        } | null;
    } | {
        id?: "host_header_override" | null;
        value?: string | null;
    } | {
        id?: "ip_geolocation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "mirage" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "opportunistic_encryption" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "origin_error_page_pass_thru" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "polish" | null;
        value?: "off" | "lossless" | "lossy" | null;
    } | {
        id?: "resolve_override" | null;
        value?: string | null;
    } | {
        id?: "respect_strong_etag" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "response_buffering" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "rocket_loader" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "security_level" | null;
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | null;
    } | {
        id?: "sort_query_string_for_cache" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "ssl" | null;
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull" | null;
    } | {
        id?: "true_client_ip_header" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "waf" | null;
        value?: "on" | "off" | null;
    })[];
    createdOn: string;
    modifiedOn: string;
    priority: number;
    status: "active" | "disabled";
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        } | null;
        target?: "url" | null;
    }[];
}[];
export declare const ListPageRulesResponse: Schema.Schema<ListPageRulesResponse>;
export type ListPageRulesError = DefaultErrors;
export declare const listPageRules: API.OperationMethod<ListPageRulesRequest, ListPageRulesResponse, ListPageRulesError, Credentials | HttpClient.HttpClient>;
export interface CreatePageRuleRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions: ({
        id?: "always_use_https";
    } | {
        id?: "automatic_https_rewrites";
        value?: "on" | "off";
    } | {
        id?: "browser_cache_ttl";
        value?: number;
    } | {
        id?: "browser_check";
        value?: "on" | "off";
    } | {
        id?: "bypass_cache_on_cookie";
        value?: string;
    } | {
        id?: "cache_by_device_type";
        value?: "on" | "off";
    } | {
        id?: "cache_deception_armor";
        value?: "on" | "off";
    } | {
        id?: "cache_key_fields";
        value?: {
            cookie?: {
                checkPresence?: string[];
                include?: string[];
            };
            header?: {
                checkPresence?: string[];
                exclude?: string[];
                include?: string[];
            };
            host?: {
                resolved?: boolean;
            };
            queryString?: {
                exclude?: "*" | string[];
                include?: "*" | string[];
            };
            user?: {
                deviceType?: boolean;
                geo?: boolean;
                lang?: boolean;
            };
        };
    } | {
        id?: "cache_level";
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything";
    } | {
        id?: "cache_on_cookie";
        value?: string;
    } | {
        id?: "cache_ttl_by_status";
        value?: Record<string, unknown>;
    } | {
        id?: "disable_apps";
    } | {
        id?: "disable_performance";
    } | {
        id?: "disable_security";
    } | {
        id?: "disable_zaraz";
    } | {
        id?: "edge_cache_ttl";
        value?: number;
    } | {
        id?: "email_obfuscation";
        value?: "on" | "off";
    } | {
        id?: "explicit_cache_control";
        value?: "on" | "off";
    } | {
        id?: "forwarding_url";
        value?: {
            statusCode?: "301" | "302";
            url?: string;
        };
    } | {
        id?: "host_header_override";
        value?: string;
    } | {
        id?: "ip_geolocation";
        value?: "on" | "off";
    } | {
        id?: "mirage";
        value?: "on" | "off";
    } | {
        id?: "opportunistic_encryption";
        value?: "on" | "off";
    } | {
        id?: "origin_error_page_pass_thru";
        value?: "on" | "off";
    } | {
        id?: "polish";
        value?: "off" | "lossless" | "lossy";
    } | {
        id?: "resolve_override";
        value?: string;
    } | {
        id?: "respect_strong_etag";
        value?: "on" | "off";
    } | {
        id?: "response_buffering";
        value?: "on" | "off";
    } | {
        id?: "rocket_loader";
        value?: "on" | "off";
    } | {
        id?: "security_level";
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack";
    } | {
        id?: "sort_query_string_for_cache";
        value?: "on" | "off";
    } | {
        id?: "ssl";
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull";
    } | {
        id?: "true_client_ip_header";
        value?: "on" | "off";
    } | {
        id?: "waf";
        value?: "on" | "off";
    })[];
    /** Body param: The rule targets to evaluate on each request. */
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        };
        target?: "url";
    }[];
    /** Body param: The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/i */
    priority?: number;
    /** Body param: The status of the Page Rule. */
    status?: "active" | "disabled";
}
export declare const CreatePageRuleRequest: Schema.Schema<CreatePageRuleRequest>;
export interface CreatePageRuleResponse {
    /** Identifier. */
    id: string;
    /** The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions: ({
        id?: "always_use_https" | null;
    } | {
        id?: "automatic_https_rewrites" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "browser_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "browser_check" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "bypass_cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_by_device_type" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_deception_armor" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_key_fields" | null;
        value?: {
            cookie?: {
                checkPresence?: string[] | null;
                include?: string[] | null;
            } | null;
            header?: {
                checkPresence?: string[] | null;
                exclude?: string[] | null;
                include?: string[] | null;
            } | null;
            host?: {
                resolved?: boolean | null;
            } | null;
            queryString?: {
                exclude?: "*" | string[] | null;
                include?: "*" | string[] | null;
            } | null;
            user?: {
                deviceType?: boolean | null;
                geo?: boolean | null;
                lang?: boolean | null;
            } | null;
        } | null;
    } | {
        id?: "cache_level" | null;
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything" | null;
    } | {
        id?: "cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_ttl_by_status" | null;
        value?: Record<string, unknown> | null;
    } | {
        id?: "disable_apps" | null;
    } | {
        id?: "disable_performance" | null;
    } | {
        id?: "disable_security" | null;
    } | {
        id?: "disable_zaraz" | null;
    } | {
        id?: "edge_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "email_obfuscation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "explicit_cache_control" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "forwarding_url" | null;
        value?: {
            statusCode?: "301" | "302" | null;
            url?: string | null;
        } | null;
    } | {
        id?: "host_header_override" | null;
        value?: string | null;
    } | {
        id?: "ip_geolocation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "mirage" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "opportunistic_encryption" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "origin_error_page_pass_thru" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "polish" | null;
        value?: "off" | "lossless" | "lossy" | null;
    } | {
        id?: "resolve_override" | null;
        value?: string | null;
    } | {
        id?: "respect_strong_etag" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "response_buffering" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "rocket_loader" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "security_level" | null;
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | null;
    } | {
        id?: "sort_query_string_for_cache" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "ssl" | null;
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull" | null;
    } | {
        id?: "true_client_ip_header" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "waf" | null;
        value?: "on" | "off" | null;
    })[];
    /** The timestamp of when the Page Rule was created. */
    createdOn: string;
    /** The timestamp of when the Page Rule was last modified. */
    modifiedOn: string;
    /** The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/images/ `) bu */
    priority: number;
    /** The status of the Page Rule. */
    status: "active" | "disabled";
    /** The rule targets to evaluate on each request. */
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        } | null;
        target?: "url" | null;
    }[];
}
export declare const CreatePageRuleResponse: Schema.Schema<CreatePageRuleResponse>;
export type CreatePageRuleError = DefaultErrors;
export declare const createPageRule: API.OperationMethod<CreatePageRuleRequest, CreatePageRuleResponse, CreatePageRuleError, Credentials | HttpClient.HttpClient>;
export interface UpdatePageRuleRequest {
    pageruleId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions: ({
        id?: "always_use_https";
    } | {
        id?: "automatic_https_rewrites";
        value?: "on" | "off";
    } | {
        id?: "browser_cache_ttl";
        value?: number;
    } | {
        id?: "browser_check";
        value?: "on" | "off";
    } | {
        id?: "bypass_cache_on_cookie";
        value?: string;
    } | {
        id?: "cache_by_device_type";
        value?: "on" | "off";
    } | {
        id?: "cache_deception_armor";
        value?: "on" | "off";
    } | {
        id?: "cache_key_fields";
        value?: {
            cookie?: {
                checkPresence?: string[];
                include?: string[];
            };
            header?: {
                checkPresence?: string[];
                exclude?: string[];
                include?: string[];
            };
            host?: {
                resolved?: boolean;
            };
            queryString?: {
                exclude?: "*" | string[];
                include?: "*" | string[];
            };
            user?: {
                deviceType?: boolean;
                geo?: boolean;
                lang?: boolean;
            };
        };
    } | {
        id?: "cache_level";
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything";
    } | {
        id?: "cache_on_cookie";
        value?: string;
    } | {
        id?: "cache_ttl_by_status";
        value?: Record<string, unknown>;
    } | {
        id?: "disable_apps";
    } | {
        id?: "disable_performance";
    } | {
        id?: "disable_security";
    } | {
        id?: "disable_zaraz";
    } | {
        id?: "edge_cache_ttl";
        value?: number;
    } | {
        id?: "email_obfuscation";
        value?: "on" | "off";
    } | {
        id?: "explicit_cache_control";
        value?: "on" | "off";
    } | {
        id?: "forwarding_url";
        value?: {
            statusCode?: "301" | "302";
            url?: string;
        };
    } | {
        id?: "host_header_override";
        value?: string;
    } | {
        id?: "ip_geolocation";
        value?: "on" | "off";
    } | {
        id?: "mirage";
        value?: "on" | "off";
    } | {
        id?: "opportunistic_encryption";
        value?: "on" | "off";
    } | {
        id?: "origin_error_page_pass_thru";
        value?: "on" | "off";
    } | {
        id?: "polish";
        value?: "off" | "lossless" | "lossy";
    } | {
        id?: "resolve_override";
        value?: string;
    } | {
        id?: "respect_strong_etag";
        value?: "on" | "off";
    } | {
        id?: "response_buffering";
        value?: "on" | "off";
    } | {
        id?: "rocket_loader";
        value?: "on" | "off";
    } | {
        id?: "security_level";
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack";
    } | {
        id?: "sort_query_string_for_cache";
        value?: "on" | "off";
    } | {
        id?: "ssl";
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull";
    } | {
        id?: "true_client_ip_header";
        value?: "on" | "off";
    } | {
        id?: "waf";
        value?: "on" | "off";
    })[];
    /** Body param: The rule targets to evaluate on each request. */
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        };
        target?: "url";
    }[];
    /** Body param: The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/i */
    priority?: number;
    /** Body param: The status of the Page Rule. */
    status?: "active" | "disabled";
}
export declare const UpdatePageRuleRequest: Schema.Schema<UpdatePageRuleRequest>;
export interface UpdatePageRuleResponse {
    /** Identifier. */
    id: string;
    /** The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions: ({
        id?: "always_use_https" | null;
    } | {
        id?: "automatic_https_rewrites" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "browser_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "browser_check" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "bypass_cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_by_device_type" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_deception_armor" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_key_fields" | null;
        value?: {
            cookie?: {
                checkPresence?: string[] | null;
                include?: string[] | null;
            } | null;
            header?: {
                checkPresence?: string[] | null;
                exclude?: string[] | null;
                include?: string[] | null;
            } | null;
            host?: {
                resolved?: boolean | null;
            } | null;
            queryString?: {
                exclude?: "*" | string[] | null;
                include?: "*" | string[] | null;
            } | null;
            user?: {
                deviceType?: boolean | null;
                geo?: boolean | null;
                lang?: boolean | null;
            } | null;
        } | null;
    } | {
        id?: "cache_level" | null;
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything" | null;
    } | {
        id?: "cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_ttl_by_status" | null;
        value?: Record<string, unknown> | null;
    } | {
        id?: "disable_apps" | null;
    } | {
        id?: "disable_performance" | null;
    } | {
        id?: "disable_security" | null;
    } | {
        id?: "disable_zaraz" | null;
    } | {
        id?: "edge_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "email_obfuscation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "explicit_cache_control" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "forwarding_url" | null;
        value?: {
            statusCode?: "301" | "302" | null;
            url?: string | null;
        } | null;
    } | {
        id?: "host_header_override" | null;
        value?: string | null;
    } | {
        id?: "ip_geolocation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "mirage" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "opportunistic_encryption" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "origin_error_page_pass_thru" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "polish" | null;
        value?: "off" | "lossless" | "lossy" | null;
    } | {
        id?: "resolve_override" | null;
        value?: string | null;
    } | {
        id?: "respect_strong_etag" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "response_buffering" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "rocket_loader" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "security_level" | null;
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | null;
    } | {
        id?: "sort_query_string_for_cache" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "ssl" | null;
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull" | null;
    } | {
        id?: "true_client_ip_header" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "waf" | null;
        value?: "on" | "off" | null;
    })[];
    /** The timestamp of when the Page Rule was created. */
    createdOn: string;
    /** The timestamp of when the Page Rule was last modified. */
    modifiedOn: string;
    /** The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/images/ `) bu */
    priority: number;
    /** The status of the Page Rule. */
    status: "active" | "disabled";
    /** The rule targets to evaluate on each request. */
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        } | null;
        target?: "url" | null;
    }[];
}
export declare const UpdatePageRuleResponse: Schema.Schema<UpdatePageRuleResponse>;
export type UpdatePageRuleError = DefaultErrors;
export declare const updatePageRule: API.OperationMethod<UpdatePageRuleRequest, UpdatePageRuleResponse, UpdatePageRuleError, Credentials | HttpClient.HttpClient>;
export interface PatchPageRuleRequest {
    pageruleId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions?: ({
        id?: "always_use_https";
    } | {
        id?: "automatic_https_rewrites";
        value?: "on" | "off";
    } | {
        id?: "browser_cache_ttl";
        value?: number;
    } | {
        id?: "browser_check";
        value?: "on" | "off";
    } | {
        id?: "bypass_cache_on_cookie";
        value?: string;
    } | {
        id?: "cache_by_device_type";
        value?: "on" | "off";
    } | {
        id?: "cache_deception_armor";
        value?: "on" | "off";
    } | {
        id?: "cache_key_fields";
        value?: {
            cookie?: {
                checkPresence?: string[];
                include?: string[];
            };
            header?: {
                checkPresence?: string[];
                exclude?: string[];
                include?: string[];
            };
            host?: {
                resolved?: boolean;
            };
            queryString?: {
                exclude?: "*" | string[];
                include?: "*" | string[];
            };
            user?: {
                deviceType?: boolean;
                geo?: boolean;
                lang?: boolean;
            };
        };
    } | {
        id?: "cache_level";
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything";
    } | {
        id?: "cache_on_cookie";
        value?: string;
    } | {
        id?: "cache_ttl_by_status";
        value?: Record<string, unknown>;
    } | {
        id?: "disable_apps";
    } | {
        id?: "disable_performance";
    } | {
        id?: "disable_security";
    } | {
        id?: "disable_zaraz";
    } | {
        id?: "edge_cache_ttl";
        value?: number;
    } | {
        id?: "email_obfuscation";
        value?: "on" | "off";
    } | {
        id?: "explicit_cache_control";
        value?: "on" | "off";
    } | {
        id?: "forwarding_url";
        value?: {
            statusCode?: "301" | "302";
            url?: string;
        };
    } | {
        id?: "host_header_override";
        value?: string;
    } | {
        id?: "ip_geolocation";
        value?: "on" | "off";
    } | {
        id?: "mirage";
        value?: "on" | "off";
    } | {
        id?: "opportunistic_encryption";
        value?: "on" | "off";
    } | {
        id?: "origin_error_page_pass_thru";
        value?: "on" | "off";
    } | {
        id?: "polish";
        value?: "off" | "lossless" | "lossy";
    } | {
        id?: "resolve_override";
        value?: string;
    } | {
        id?: "respect_strong_etag";
        value?: "on" | "off";
    } | {
        id?: "response_buffering";
        value?: "on" | "off";
    } | {
        id?: "rocket_loader";
        value?: "on" | "off";
    } | {
        id?: "security_level";
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack";
    } | {
        id?: "sort_query_string_for_cache";
        value?: "on" | "off";
    } | {
        id?: "ssl";
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull";
    } | {
        id?: "true_client_ip_header";
        value?: "on" | "off";
    } | {
        id?: "waf";
        value?: "on" | "off";
    })[];
    /** Body param: The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/i */
    priority?: number;
    /** Body param: The status of the Page Rule. */
    status?: "active" | "disabled";
    /** Body param: The rule targets to evaluate on each request. */
    targets?: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        };
        target?: "url";
    }[];
}
export declare const PatchPageRuleRequest: Schema.Schema<PatchPageRuleRequest>;
export interface PatchPageRuleResponse {
    /** Identifier. */
    id: string;
    /** The set of actions to perform if the targets of this rule match the request. Actions can redirect to another URL or override settings, but not both. */
    actions: ({
        id?: "always_use_https" | null;
    } | {
        id?: "automatic_https_rewrites" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "browser_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "browser_check" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "bypass_cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_by_device_type" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_deception_armor" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "cache_key_fields" | null;
        value?: {
            cookie?: {
                checkPresence?: string[] | null;
                include?: string[] | null;
            } | null;
            header?: {
                checkPresence?: string[] | null;
                exclude?: string[] | null;
                include?: string[] | null;
            } | null;
            host?: {
                resolved?: boolean | null;
            } | null;
            queryString?: {
                exclude?: "*" | string[] | null;
                include?: "*" | string[] | null;
            } | null;
            user?: {
                deviceType?: boolean | null;
                geo?: boolean | null;
                lang?: boolean | null;
            } | null;
        } | null;
    } | {
        id?: "cache_level" | null;
        value?: "bypass" | "basic" | "simplified" | "aggressive" | "cache_everything" | null;
    } | {
        id?: "cache_on_cookie" | null;
        value?: string | null;
    } | {
        id?: "cache_ttl_by_status" | null;
        value?: Record<string, unknown> | null;
    } | {
        id?: "disable_apps" | null;
    } | {
        id?: "disable_performance" | null;
    } | {
        id?: "disable_security" | null;
    } | {
        id?: "disable_zaraz" | null;
    } | {
        id?: "edge_cache_ttl" | null;
        value?: number | null;
    } | {
        id?: "email_obfuscation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "explicit_cache_control" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "forwarding_url" | null;
        value?: {
            statusCode?: "301" | "302" | null;
            url?: string | null;
        } | null;
    } | {
        id?: "host_header_override" | null;
        value?: string | null;
    } | {
        id?: "ip_geolocation" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "mirage" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "opportunistic_encryption" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "origin_error_page_pass_thru" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "polish" | null;
        value?: "off" | "lossless" | "lossy" | null;
    } | {
        id?: "resolve_override" | null;
        value?: string | null;
    } | {
        id?: "respect_strong_etag" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "response_buffering" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "rocket_loader" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "security_level" | null;
        value?: "off" | "essentially_off" | "low" | "medium" | "high" | "under_attack" | null;
    } | {
        id?: "sort_query_string_for_cache" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "ssl" | null;
        value?: "off" | "flexible" | "full" | "strict" | "origin_pull" | null;
    } | {
        id?: "true_client_ip_header" | null;
        value?: "on" | "off" | null;
    } | {
        id?: "waf" | null;
        value?: "on" | "off" | null;
    })[];
    /** The timestamp of when the Page Rule was created. */
    createdOn: string;
    /** The timestamp of when the Page Rule was last modified. */
    modifiedOn: string;
    /** The priority of the rule, used to define which Page Rule is processed over another. A higher number indicates a higher priority. For example, if you have a catch-all Page Rule (rule A: `/images/ `) bu */
    priority: number;
    /** The status of the Page Rule. */
    status: "active" | "disabled";
    /** The rule targets to evaluate on each request. */
    targets: {
        constraint?: {
            operator: "matches" | "contains" | "equals" | "not_equal" | "not_contain";
            value: string;
        } | null;
        target?: "url" | null;
    }[];
}
export declare const PatchPageRuleResponse: Schema.Schema<PatchPageRuleResponse>;
export type PatchPageRuleError = DefaultErrors;
export declare const patchPageRule: API.OperationMethod<PatchPageRuleRequest, PatchPageRuleResponse, PatchPageRuleError, Credentials | HttpClient.HttpClient>;
export interface DeletePageRuleRequest {
    pageruleId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeletePageRuleRequest: Schema.Schema<DeletePageRuleRequest>;
export interface DeletePageRuleResponse {
    /** Identifier. */
    id: string;
}
export declare const DeletePageRuleResponse: Schema.Schema<DeletePageRuleResponse>;
export type DeletePageRuleError = DefaultErrors;
export declare const deletePageRule: API.OperationMethod<DeletePageRuleRequest, DeletePageRuleResponse, DeletePageRuleError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=page-rules.d.ts.map