/**
 * Cloudflare CACHE API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service cache
 */
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 PurgeCacheRequest {
    /** Path param: */
    zoneId: string;
    /** Body param: For more information on cache tags and purging by tags, please refer to [purge by cache-tags documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/). */
    tags?: string[];
}
export declare const PurgeCacheRequest: Schema.Schema<PurgeCacheRequest>;
export interface PurgeCacheResponse {
    id: string;
}
export declare const PurgeCacheResponse: Schema.Schema<PurgeCacheResponse>;
export type PurgeCacheError = DefaultErrors;
export declare const purgeCache: API.OperationMethod<PurgeCacheRequest, PurgeCacheResponse, PurgeCacheError, Credentials | HttpClient.HttpClient>;
export interface GetCacheReserveRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetCacheReserveRequest: Schema.Schema<GetCacheReserveRequest>;
export interface GetCacheReserveResponse {
    /** The identifier of the caching setting. */
    id: "cache_reserve";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the Cache Reserve zone setting. */
    value: "on" | "off";
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const GetCacheReserveResponse: Schema.Schema<GetCacheReserveResponse>;
export type GetCacheReserveError = DefaultErrors;
export declare const getCacheReserve: API.OperationMethod<GetCacheReserveRequest, GetCacheReserveResponse, GetCacheReserveError, Credentials | HttpClient.HttpClient>;
export interface PatchCacheReserveRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Value of the Cache Reserve zone setting. */
    value: "on" | "off";
}
export declare const PatchCacheReserveRequest: Schema.Schema<PatchCacheReserveRequest>;
export interface PatchCacheReserveResponse {
    /** The identifier of the caching setting. */
    id: "cache_reserve";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the Cache Reserve zone setting. */
    value: "on" | "off";
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const PatchCacheReserveResponse: Schema.Schema<PatchCacheReserveResponse>;
export type PatchCacheReserveError = DefaultErrors;
export declare const patchCacheReserve: API.OperationMethod<PatchCacheReserveRequest, PatchCacheReserveResponse, PatchCacheReserveError, Credentials | HttpClient.HttpClient>;
export interface StatusCacheReserveRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const StatusCacheReserveRequest: Schema.Schema<StatusCacheReserveRequest>;
export interface StatusCacheReserveResponse {
    /** ID of the zone setting. */
    id: "cache_reserve_clear";
    /** The time that the latest Cache Reserve Clear operation started. */
    startTs: string;
    /** The current state of the Cache Reserve Clear operation. */
    state: "In-progress" | "Completed";
    /** The time that the latest Cache Reserve Clear operation completed. */
    endTs?: string | null;
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const StatusCacheReserveResponse: Schema.Schema<StatusCacheReserveResponse>;
export type StatusCacheReserveError = DefaultErrors;
export declare const statusCacheReserve: API.OperationMethod<StatusCacheReserveRequest, StatusCacheReserveResponse, StatusCacheReserveError, Credentials | HttpClient.HttpClient>;
export interface ClearCacheReserveRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: */
    body: unknown;
}
export declare const ClearCacheReserveRequest: Schema.Schema<ClearCacheReserveRequest>;
export interface ClearCacheReserveResponse {
    /** ID of the zone setting. */
    id: "cache_reserve_clear";
    /** The time that the latest Cache Reserve Clear operation started. */
    startTs: string;
    /** The current state of the Cache Reserve Clear operation. */
    state: "In-progress" | "Completed";
    /** The time that the latest Cache Reserve Clear operation completed. */
    endTs?: string | null;
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const ClearCacheReserveResponse: Schema.Schema<ClearCacheReserveResponse>;
export type ClearCacheReserveError = DefaultErrors;
export declare const clearCacheReserve: API.OperationMethod<ClearCacheReserveRequest, ClearCacheReserveResponse, ClearCacheReserveError, Credentials | HttpClient.HttpClient>;
export interface GetRegionalTieredCacheRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetRegionalTieredCacheRequest: Schema.Schema<GetRegionalTieredCacheRequest>;
export interface GetRegionalTieredCacheResponse {
    /** The identifier of the caching setting. */
    id: "tc_regional";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the Regional Tiered Cache zone setting. */
    value: "on" | "off";
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const GetRegionalTieredCacheResponse: Schema.Schema<GetRegionalTieredCacheResponse>;
export type GetRegionalTieredCacheError = DefaultErrors;
export declare const getRegionalTieredCache: API.OperationMethod<GetRegionalTieredCacheRequest, GetRegionalTieredCacheResponse, GetRegionalTieredCacheError, Credentials | HttpClient.HttpClient>;
export interface PatchRegionalTieredCacheRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Value of the Regional Tiered Cache zone setting. */
    value: "on" | "off";
}
export declare const PatchRegionalTieredCacheRequest: Schema.Schema<PatchRegionalTieredCacheRequest>;
export interface PatchRegionalTieredCacheResponse {
    /** The identifier of the caching setting. */
    id: "tc_regional";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the Regional Tiered Cache zone setting. */
    value: "on" | "off";
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const PatchRegionalTieredCacheResponse: Schema.Schema<PatchRegionalTieredCacheResponse>;
export type PatchRegionalTieredCacheError = DefaultErrors;
export declare const patchRegionalTieredCache: API.OperationMethod<PatchRegionalTieredCacheRequest, PatchRegionalTieredCacheResponse, PatchRegionalTieredCacheError, Credentials | HttpClient.HttpClient>;
export interface GetSmartTieredCacheRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetSmartTieredCacheRequest: Schema.Schema<GetSmartTieredCacheRequest>;
export interface GetSmartTieredCacheResponse {
    /** The identifier of the caching setting. */
    id: "tiered_cache_smart_topology_enable";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the Smart Tiered Cache zone setting. */
    value: "on" | "off";
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const GetSmartTieredCacheResponse: Schema.Schema<GetSmartTieredCacheResponse>;
export type GetSmartTieredCacheError = DefaultErrors;
export declare const getSmartTieredCache: API.OperationMethod<GetSmartTieredCacheRequest, GetSmartTieredCacheResponse, GetSmartTieredCacheError, Credentials | HttpClient.HttpClient>;
export interface PatchSmartTieredCacheRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Enable or disable the Smart Tiered Cache. */
    value: "on" | "off";
}
export declare const PatchSmartTieredCacheRequest: Schema.Schema<PatchSmartTieredCacheRequest>;
export interface PatchSmartTieredCacheResponse {
    /** The identifier of the caching setting. */
    id: "tiered_cache_smart_topology_enable";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the Smart Tiered Cache zone setting. */
    value: "on" | "off";
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const PatchSmartTieredCacheResponse: Schema.Schema<PatchSmartTieredCacheResponse>;
export type PatchSmartTieredCacheError = DefaultErrors;
export declare const patchSmartTieredCache: API.OperationMethod<PatchSmartTieredCacheRequest, PatchSmartTieredCacheResponse, PatchSmartTieredCacheError, Credentials | HttpClient.HttpClient>;
export interface DeleteSmartTieredCacheRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteSmartTieredCacheRequest: Schema.Schema<DeleteSmartTieredCacheRequest>;
export interface DeleteSmartTieredCacheResponse {
    /** The identifier of the caching setting. */
    id: "tiered_cache_smart_topology_enable";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const DeleteSmartTieredCacheResponse: Schema.Schema<DeleteSmartTieredCacheResponse>;
export type DeleteSmartTieredCacheError = DefaultErrors;
export declare const deleteSmartTieredCache: API.OperationMethod<DeleteSmartTieredCacheRequest, DeleteSmartTieredCacheResponse, DeleteSmartTieredCacheError, Credentials | HttpClient.HttpClient>;
export interface GetVariantRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetVariantRequest: Schema.Schema<GetVariantRequest>;
export interface GetVariantResponse {
    /** The identifier of the caching setting. */
    id: "variants";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the zone setting. */
    value: {
        avif?: string[] | null;
        bmp?: string[] | null;
        gif?: string[] | null;
        jp2?: string[] | null;
        jpeg?: string[] | null;
        jpg?: string[] | null;
        jpg2?: string[] | null;
        png?: string[] | null;
        tif?: string[] | null;
        tiff?: string[] | null;
        webp?: string[] | null;
    };
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const GetVariantResponse: Schema.Schema<GetVariantResponse>;
export type GetVariantError = DefaultErrors;
export declare const getVariant: API.OperationMethod<GetVariantRequest, GetVariantResponse, GetVariantError, Credentials | HttpClient.HttpClient>;
export interface PatchVariantRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Value of the zone setting. */
    value: {
        avif?: string[];
        bmp?: string[];
        gif?: string[];
        jp2?: string[];
        jpeg?: string[];
        jpg?: string[];
        jpg2?: string[];
        png?: string[];
        tif?: string[];
        tiff?: string[];
        webp?: string[];
    };
}
export declare const PatchVariantRequest: Schema.Schema<PatchVariantRequest>;
export interface PatchVariantResponse {
    /** The identifier of the caching setting. */
    id: "variants";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Value of the zone setting. */
    value: {
        avif?: string[] | null;
        bmp?: string[] | null;
        gif?: string[] | null;
        jp2?: string[] | null;
        jpeg?: string[] | null;
        jpg?: string[] | null;
        jpg2?: string[] | null;
        png?: string[] | null;
        tif?: string[] | null;
        tiff?: string[] | null;
        webp?: string[] | null;
    };
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const PatchVariantResponse: Schema.Schema<PatchVariantResponse>;
export type PatchVariantError = DefaultErrors;
export declare const patchVariant: API.OperationMethod<PatchVariantRequest, PatchVariantResponse, PatchVariantError, Credentials | HttpClient.HttpClient>;
export interface DeleteVariantRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteVariantRequest: Schema.Schema<DeleteVariantRequest>;
export interface DeleteVariantResponse {
    /** The identifier of the caching setting. */
    id: "variants";
    /** Whether the setting is editable. */
    editable: boolean;
    /** Last time this setting was modified. */
    modifiedOn?: string | null;
}
export declare const DeleteVariantResponse: Schema.Schema<DeleteVariantResponse>;
export type DeleteVariantError = DefaultErrors;
export declare const deleteVariant: API.OperationMethod<DeleteVariantRequest, DeleteVariantResponse, DeleteVariantError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=cache.d.ts.map