/**
 * Cloudflare BOT-MANAGEMENT API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service bot-management
 */
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 GetBotManagementRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetBotManagementRequest: Schema.Schema<GetBotManagementRequest>;
export type GetBotManagementResponse = {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    fightMode?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    staleZoneConfiguration?: {
        optimizeWordpress?: boolean | null;
        sbfmDefinitelyAutomated?: string | null;
        sbfmLikelyAutomated?: string | null;
        sbfmStaticResourceProtection?: string | null;
        sbfmVerifiedBots?: string | null;
        suppressSessionScore?: boolean | null;
    } | null;
    usingLatestModel?: boolean | null;
} | {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    optimizeWordpress?: boolean | null;
    sbfmDefinitelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {}) | null;
    sbfmStaticResourceProtection?: boolean | null;
    sbfmVerifiedBots?: "allow" | "block" | (string & {}) | null;
    staleZoneConfiguration?: {
        fightMode?: boolean | null;
        sbfmLikelyAutomated?: string | null;
    } | null;
    usingLatestModel?: boolean | null;
} | {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    optimizeWordpress?: boolean | null;
    sbfmDefinitelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {}) | null;
    sbfmLikelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {}) | null;
    sbfmStaticResourceProtection?: boolean | null;
    sbfmVerifiedBots?: "allow" | "block" | (string & {}) | null;
    staleZoneConfiguration?: {
        fightMode?: boolean | null;
    } | null;
    usingLatestModel?: boolean | null;
} | {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    autoUpdateModel?: boolean | null;
    bmCookieEnabled?: boolean | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    staleZoneConfiguration?: {
        fightMode?: boolean | null;
        optimizeWordpress?: boolean | null;
        sbfmDefinitelyAutomated?: string | null;
        sbfmLikelyAutomated?: string | null;
        sbfmStaticResourceProtection?: string | null;
        sbfmVerifiedBots?: string | null;
    } | null;
    suppressSessionScore?: boolean | null;
    usingLatestModel?: boolean | null;
};
export declare const GetBotManagementResponse: Schema.Schema<GetBotManagementResponse>;
export type GetBotManagementError = DefaultErrors;
export declare const getBotManagement: API.OperationMethod<GetBotManagementRequest, GetBotManagementResponse, GetBotManagementError, Credentials | HttpClient.HttpClient>;
export interface PutBotManagementRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Enable rule to block AI Scrapers and Crawlers. Please note the value `only_on_ad_pages` is currently not available for Enterprise customers. */
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {});
    /** Body param: Specifies the Robots Access Control License variant to use. */
    cfRobotsVariant?: "off" | "policy_only" | (string & {});
    /** Body param: Enable rule to block content bots. When enabled, blocks automated traffic with low bot scores, excluding safe verified bot categories. Exceptions should be managed via skip rules. */
    contentBotsProtection?: "block" | "disabled" | (string & {});
    /** Body param: Enable rule to punish AI Scrapers and Crawlers via a link maze. */
    crawlerProtection?: "enabled" | "disabled" | (string & {});
    /** Body param: Use lightweight, invisible JavaScript detections to improve Bot Management. [Learn more about JavaScript Detections](https://developers.cloudflare.com/bots/reference/javascript-detections/ */
    enableJs?: boolean;
    /** Body param: Whether to enable Bot Fight Mode. */
    fightMode?: boolean;
    /** Body param: Enable cloudflare managed robots.txt. If an existing robots.txt is detected, then managed robots.txt will be prepended to the existing robots.txt. */
    isRobotsTxtManaged?: boolean;
    /** Body param: Whether to optimize Super Bot Fight Mode protections for Wordpress. */
    optimizeWordpress?: boolean;
    /** Body param: Super Bot Fight Mode (SBFM) action to take on definitely automated requests. */
    sbfmDefinitelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {});
    /** Body param: Super Bot Fight Mode (SBFM) to enable static resource protection. Enable if static resources on your application need bot protection. Note: Static resource protection can also result in le */
    sbfmStaticResourceProtection?: boolean;
    /** Body param: Super Bot Fight Mode (SBFM) action to take on verified bots requests. */
    sbfmVerifiedBots?: "allow" | "block" | (string & {});
    /** Body param: Super Bot Fight Mode (SBFM) action to take on likely automated requests. */
    sbfmLikelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {});
    /** Body param: Automatically update to the newest bot detection models created by Cloudflare as they are released. [Learn more.](https://developers.cloudflare.com/bots/reference/machine-learning-models#m */
    autoUpdateModel?: boolean;
    /** Body param: Indicates that the bot management cookie can be placed on end user devices accessing the site. Defaults to true */
    bmCookieEnabled?: boolean;
    /** Body param: Whether to disable tracking the highest bot score for a session in the Bot Management cookie. */
    suppressSessionScore?: boolean;
}
export declare const PutBotManagementRequest: Schema.Schema<PutBotManagementRequest>;
export type PutBotManagementResponse = {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    fightMode?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    staleZoneConfiguration?: {
        optimizeWordpress?: boolean | null;
        sbfmDefinitelyAutomated?: string | null;
        sbfmLikelyAutomated?: string | null;
        sbfmStaticResourceProtection?: string | null;
        sbfmVerifiedBots?: string | null;
        suppressSessionScore?: boolean | null;
    } | null;
    usingLatestModel?: boolean | null;
} | {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    optimizeWordpress?: boolean | null;
    sbfmDefinitelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {}) | null;
    sbfmStaticResourceProtection?: boolean | null;
    sbfmVerifiedBots?: "allow" | "block" | (string & {}) | null;
    staleZoneConfiguration?: {
        fightMode?: boolean | null;
        sbfmLikelyAutomated?: string | null;
    } | null;
    usingLatestModel?: boolean | null;
} | {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    optimizeWordpress?: boolean | null;
    sbfmDefinitelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {}) | null;
    sbfmLikelyAutomated?: "allow" | "block" | "managed_challenge" | (string & {}) | null;
    sbfmStaticResourceProtection?: boolean | null;
    sbfmVerifiedBots?: "allow" | "block" | (string & {}) | null;
    staleZoneConfiguration?: {
        fightMode?: boolean | null;
    } | null;
    usingLatestModel?: boolean | null;
} | {
    aiBotsProtection?: "block" | "disabled" | "only_on_ad_pages" | (string & {}) | null;
    autoUpdateModel?: boolean | null;
    bmCookieEnabled?: boolean | null;
    cfRobotsVariant?: "off" | "policy_only" | (string & {}) | null;
    contentBotsProtection?: "block" | "disabled" | (string & {}) | null;
    crawlerProtection?: "enabled" | "disabled" | (string & {}) | null;
    enableJs?: boolean | null;
    isRobotsTxtManaged?: boolean | null;
    staleZoneConfiguration?: {
        fightMode?: boolean | null;
        optimizeWordpress?: boolean | null;
        sbfmDefinitelyAutomated?: string | null;
        sbfmLikelyAutomated?: string | null;
        sbfmStaticResourceProtection?: string | null;
        sbfmVerifiedBots?: string | null;
    } | null;
    suppressSessionScore?: boolean | null;
    usingLatestModel?: boolean | null;
};
export declare const PutBotManagementResponse: Schema.Schema<PutBotManagementResponse>;
export type PutBotManagementError = DefaultErrors;
export declare const putBotManagement: API.OperationMethod<PutBotManagementRequest, PutBotManagementResponse, PutBotManagementError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=bot-management.d.ts.map