"use strict";
// File generated from our OpenAPI spec by Stainless.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Settings = void 0;
const resource_1 = require("cloudflare/resource");
const AdvancedDDOSAPI = __importStar(require("cloudflare/resources/zones/settings/advanced-ddos"));
const AlwaysOnlineAPI = __importStar(require("cloudflare/resources/zones/settings/always-online"));
const AlwaysUseHTTPSAPI = __importStar(require("cloudflare/resources/zones/settings/always-use-https"));
const AutomaticHTTPSRewritesAPI = __importStar(require("cloudflare/resources/zones/settings/automatic-https-rewrites"));
const AutomaticPlatformOptimizationAPI = __importStar(require("cloudflare/resources/zones/settings/automatic-platform-optimization"));
const BrotliAPI = __importStar(require("cloudflare/resources/zones/settings/brotli"));
const BrowserCacheTTLAPI = __importStar(require("cloudflare/resources/zones/settings/browser-cache-ttl"));
const BrowserCheckAPI = __importStar(require("cloudflare/resources/zones/settings/browser-check"));
const CacheLevelAPI = __importStar(require("cloudflare/resources/zones/settings/cache-level"));
const ChallengeTTLAPI = __importStar(require("cloudflare/resources/zones/settings/challenge-ttl"));
const CiphersAPI = __importStar(require("cloudflare/resources/zones/settings/ciphers"));
const DevelopmentModeAPI = __importStar(require("cloudflare/resources/zones/settings/development-mode"));
const EarlyHintsAPI = __importStar(require("cloudflare/resources/zones/settings/early-hints"));
const EmailObfuscationAPI = __importStar(require("cloudflare/resources/zones/settings/email-obfuscation"));
const FontSettingsAPI = __importStar(require("cloudflare/resources/zones/settings/font-settings"));
const H2PrioritizationAPI = __importStar(require("cloudflare/resources/zones/settings/h2-prioritization"));
const HotlinkProtectionAPI = __importStar(require("cloudflare/resources/zones/settings/hotlink-protection"));
const HTTP2API = __importStar(require("cloudflare/resources/zones/settings/http2"));
const HTTP3API = __importStar(require("cloudflare/resources/zones/settings/http3"));
const ImageResizingAPI = __importStar(require("cloudflare/resources/zones/settings/image-resizing"));
const IPGeolocationAPI = __importStar(require("cloudflare/resources/zones/settings/ip-geolocation"));
const IPV6API = __importStar(require("cloudflare/resources/zones/settings/ipv6"));
const MinTLSVersionAPI = __importStar(require("cloudflare/resources/zones/settings/min-tls-version"));
const MinifyAPI = __importStar(require("cloudflare/resources/zones/settings/minify"));
const MirageAPI = __importStar(require("cloudflare/resources/zones/settings/mirage"));
const MobileRedirectAPI = __importStar(require("cloudflare/resources/zones/settings/mobile-redirect"));
const NELAPI = __importStar(require("cloudflare/resources/zones/settings/nel"));
const OpportunisticEncryptionAPI = __importStar(require("cloudflare/resources/zones/settings/opportunistic-encryption"));
const OpportunisticOnionAPI = __importStar(require("cloudflare/resources/zones/settings/opportunistic-onion"));
const OrangeToOrangeAPI = __importStar(require("cloudflare/resources/zones/settings/orange-to-orange"));
const OriginErrorPagePassThruAPI = __importStar(require("cloudflare/resources/zones/settings/origin-error-page-pass-thru"));
const OriginMaxHTTPVersionAPI = __importStar(require("cloudflare/resources/zones/settings/origin-max-http-version"));
const PolishAPI = __importStar(require("cloudflare/resources/zones/settings/polish"));
const PrefetchPreloadAPI = __importStar(require("cloudflare/resources/zones/settings/prefetch-preload"));
const ProxyReadTimeoutAPI = __importStar(require("cloudflare/resources/zones/settings/proxy-read-timeout"));
const PseudoIPV4API = __importStar(require("cloudflare/resources/zones/settings/pseudo-ipv4"));
const ResponseBufferingAPI = __importStar(require("cloudflare/resources/zones/settings/response-buffering"));
const RocketLoaderAPI = __importStar(require("cloudflare/resources/zones/settings/rocket-loader"));
const SecurityHeadersAPI = __importStar(require("cloudflare/resources/zones/settings/security-headers"));
const SecurityLevelAPI = __importStar(require("cloudflare/resources/zones/settings/security-level"));
const ServerSideExcludesAPI = __importStar(require("cloudflare/resources/zones/settings/server-side-excludes"));
const SortQueryStringForCacheAPI = __importStar(require("cloudflare/resources/zones/settings/sort-query-string-for-cache"));
const SSLAPI = __importStar(require("cloudflare/resources/zones/settings/ssl"));
const SSLRecommenderAPI = __importStar(require("cloudflare/resources/zones/settings/ssl-recommender"));
const TLS1_3API = __importStar(require("cloudflare/resources/zones/settings/tls-1-3"));
const TLSClientAuthAPI = __importStar(require("cloudflare/resources/zones/settings/tls-client-auth"));
const TrueClientIPHeaderAPI = __importStar(require("cloudflare/resources/zones/settings/true-client-ip-header"));
const WAFAPI = __importStar(require("cloudflare/resources/zones/settings/waf"));
const WebpAPI = __importStar(require("cloudflare/resources/zones/settings/webp"));
const WebsocketAPI = __importStar(require("cloudflare/resources/zones/settings/websocket"));
const ZeroRTTAPI = __importStar(require("cloudflare/resources/zones/settings/zero-rtt"));
class Settings extends resource_1.APIResource {
    constructor() {
        super(...arguments);
        this.zeroRTT = new ZeroRTTAPI.ZeroRTT(this._client);
        this.advancedDDOS = new AdvancedDDOSAPI.AdvancedDDOS(this._client);
        this.alwaysOnline = new AlwaysOnlineAPI.AlwaysOnline(this._client);
        this.alwaysUseHTTPS = new AlwaysUseHTTPSAPI.AlwaysUseHTTPS(this._client);
        this.automaticHTTPSRewrites = new AutomaticHTTPSRewritesAPI.AutomaticHTTPSRewrites(this._client);
        this.automaticPlatformOptimization = new AutomaticPlatformOptimizationAPI.AutomaticPlatformOptimization(this._client);
        this.brotli = new BrotliAPI.Brotli(this._client);
        this.browserCacheTTL = new BrowserCacheTTLAPI.BrowserCacheTTL(this._client);
        this.browserCheck = new BrowserCheckAPI.BrowserCheck(this._client);
        this.cacheLevel = new CacheLevelAPI.CacheLevel(this._client);
        this.challengeTTL = new ChallengeTTLAPI.ChallengeTTL(this._client);
        this.ciphers = new CiphersAPI.Ciphers(this._client);
        this.developmentMode = new DevelopmentModeAPI.DevelopmentMode(this._client);
        this.earlyHints = new EarlyHintsAPI.EarlyHints(this._client);
        this.emailObfuscation = new EmailObfuscationAPI.EmailObfuscation(this._client);
        this.h2Prioritization = new H2PrioritizationAPI.H2Prioritization(this._client);
        this.hotlinkProtection = new HotlinkProtectionAPI.HotlinkProtection(this._client);
        this.http2 = new HTTP2API.HTTP2(this._client);
        this.http3 = new HTTP3API.HTTP3(this._client);
        this.imageResizing = new ImageResizingAPI.ImageResizing(this._client);
        this.ipGeolocation = new IPGeolocationAPI.IPGeolocation(this._client);
        this.ipv6 = new IPV6API.IPV6(this._client);
        this.minTLSVersion = new MinTLSVersionAPI.MinTLSVersion(this._client);
        this.minify = new MinifyAPI.Minify(this._client);
        this.mirage = new MirageAPI.Mirage(this._client);
        this.mobileRedirect = new MobileRedirectAPI.MobileRedirect(this._client);
        this.nel = new NELAPI.NEL(this._client);
        this.opportunisticEncryption = new OpportunisticEncryptionAPI.OpportunisticEncryption(this._client);
        this.opportunisticOnion = new OpportunisticOnionAPI.OpportunisticOnion(this._client);
        this.orangeToOrange = new OrangeToOrangeAPI.OrangeToOrange(this._client);
        this.originErrorPagePassThru = new OriginErrorPagePassThruAPI.OriginErrorPagePassThru(this._client);
        this.originMaxHTTPVersion = new OriginMaxHTTPVersionAPI.OriginMaxHTTPVersion(this._client);
        this.polish = new PolishAPI.Polish(this._client);
        this.prefetchPreload = new PrefetchPreloadAPI.PrefetchPreload(this._client);
        this.proxyReadTimeout = new ProxyReadTimeoutAPI.ProxyReadTimeout(this._client);
        this.pseudoIPV4 = new PseudoIPV4API.PseudoIPV4(this._client);
        this.responseBuffering = new ResponseBufferingAPI.ResponseBuffering(this._client);
        this.rocketLoader = new RocketLoaderAPI.RocketLoader(this._client);
        this.securityHeaders = new SecurityHeadersAPI.SecurityHeaders(this._client);
        this.securityLevel = new SecurityLevelAPI.SecurityLevel(this._client);
        this.serverSideExcludes = new ServerSideExcludesAPI.ServerSideExcludes(this._client);
        this.sortQueryStringForCache = new SortQueryStringForCacheAPI.SortQueryStringForCache(this._client);
        this.ssl = new SSLAPI.SSL(this._client);
        this.sslRecommender = new SSLRecommenderAPI.SSLRecommender(this._client);
        this.tls1_3 = new TLS1_3API.TLS1_3(this._client);
        this.tlsClientAuth = new TLSClientAuthAPI.TLSClientAuth(this._client);
        this.trueClientIPHeader = new TrueClientIPHeaderAPI.TrueClientIPHeader(this._client);
        this.waf = new WAFAPI.WAF(this._client);
        this.webp = new WebpAPI.Webp(this._client);
        this.websocket = new WebsocketAPI.Websocket(this._client);
        this.fontSettings = new FontSettingsAPI.FontSettings(this._client);
    }
    /**
     * Edit settings for a zone.
     */
    edit(params, options) {
        const { zone_id, ...body } = params;
        return this._client.patch(`/zones/${zone_id}/settings`, { body, ...options })._thenUnwrap((obj) => obj.result);
    }
    /**
     * Available settings for your user in relation to a zone.
     */
    get(params, options) {
        const { zone_id } = params;
        return this._client.get(`/zones/${zone_id}/settings`, options)._thenUnwrap((obj) => obj.result);
    }
}
exports.Settings = Settings;
(function (Settings) {
    Settings.ZeroRTT = ZeroRTTAPI.ZeroRTT;
    Settings.AdvancedDDOS = AdvancedDDOSAPI.AdvancedDDOS;
    Settings.AlwaysOnline = AlwaysOnlineAPI.AlwaysOnline;
    Settings.AlwaysUseHTTPS = AlwaysUseHTTPSAPI.AlwaysUseHTTPS;
    Settings.AutomaticHTTPSRewrites = AutomaticHTTPSRewritesAPI.AutomaticHTTPSRewrites;
    Settings.AutomaticPlatformOptimization = AutomaticPlatformOptimizationAPI.AutomaticPlatformOptimization;
    Settings.Brotli = BrotliAPI.Brotli;
    Settings.BrowserCacheTTL = BrowserCacheTTLAPI.BrowserCacheTTL;
    Settings.BrowserCheck = BrowserCheckAPI.BrowserCheck;
    Settings.CacheLevel = CacheLevelAPI.CacheLevel;
    Settings.ChallengeTTL = ChallengeTTLAPI.ChallengeTTL;
    Settings.Ciphers = CiphersAPI.Ciphers;
    Settings.DevelopmentMode = DevelopmentModeAPI.DevelopmentMode;
    Settings.EarlyHints = EarlyHintsAPI.EarlyHints;
    Settings.EmailObfuscation = EmailObfuscationAPI.EmailObfuscation;
    Settings.H2Prioritization = H2PrioritizationAPI.H2Prioritization;
    Settings.HotlinkProtection = HotlinkProtectionAPI.HotlinkProtection;
    Settings.HTTP2 = HTTP2API.HTTP2;
    Settings.HTTP3 = HTTP3API.HTTP3;
    Settings.ImageResizing = ImageResizingAPI.ImageResizing;
    Settings.IPGeolocation = IPGeolocationAPI.IPGeolocation;
    Settings.IPV6 = IPV6API.IPV6;
    Settings.MinTLSVersion = MinTLSVersionAPI.MinTLSVersion;
    Settings.Minify = MinifyAPI.Minify;
    Settings.Mirage = MirageAPI.Mirage;
    Settings.MobileRedirect = MobileRedirectAPI.MobileRedirect;
    Settings.NEL = NELAPI.NEL;
    Settings.OpportunisticEncryption = OpportunisticEncryptionAPI.OpportunisticEncryption;
    Settings.OpportunisticOnion = OpportunisticOnionAPI.OpportunisticOnion;
    Settings.OrangeToOrange = OrangeToOrangeAPI.OrangeToOrange;
    Settings.OriginErrorPagePassThru = OriginErrorPagePassThruAPI.OriginErrorPagePassThru;
    Settings.OriginMaxHTTPVersion = OriginMaxHTTPVersionAPI.OriginMaxHTTPVersion;
    Settings.Polish = PolishAPI.Polish;
    Settings.PrefetchPreload = PrefetchPreloadAPI.PrefetchPreload;
    Settings.ProxyReadTimeout = ProxyReadTimeoutAPI.ProxyReadTimeout;
    Settings.PseudoIPV4 = PseudoIPV4API.PseudoIPV4;
    Settings.ResponseBuffering = ResponseBufferingAPI.ResponseBuffering;
    Settings.RocketLoader = RocketLoaderAPI.RocketLoader;
    Settings.SecurityHeaders = SecurityHeadersAPI.SecurityHeaders;
    Settings.SecurityLevel = SecurityLevelAPI.SecurityLevel;
    Settings.ServerSideExcludes = ServerSideExcludesAPI.ServerSideExcludes;
    Settings.SortQueryStringForCache = SortQueryStringForCacheAPI.SortQueryStringForCache;
    Settings.SSL = SSLAPI.SSL;
    Settings.SSLRecommender = SSLRecommenderAPI.SSLRecommender;
    Settings.TLS1_3 = TLS1_3API.TLS1_3;
    Settings.TLSClientAuth = TLSClientAuthAPI.TLSClientAuth;
    Settings.TrueClientIPHeader = TrueClientIPHeaderAPI.TrueClientIPHeader;
    Settings.WAF = WAFAPI.WAF;
    Settings.Webp = WebpAPI.Webp;
    Settings.Websocket = WebsocketAPI.Websocket;
    Settings.FontSettings = FontSettingsAPI.FontSettings;
})(Settings = exports.Settings || (exports.Settings = {}));
//# sourceMappingURL=settings.js.map