import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as VariantsAPI from 'cloudflaredev/resources/cache/variants';
export declare class Variants extends APIResource {
    /**
     * Variant support enables caching variants of images with certain file extensions
     * in addition to the original. This only applies when the origin server sends the
     * 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but
     * does not serve the variant requested, the response will not be cached. This will
     * be indicated with BYPASS cache status in the response headers.
     */
    delete(params: VariantDeleteParams, options?: Core.RequestOptions): Core.APIPromise<CacheVariant>;
    /**
     * Variant support enables caching variants of images with certain file extensions
     * in addition to the original. This only applies when the origin server sends the
     * 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but
     * does not serve the variant requested, the response will not be cached. This will
     * be indicated with BYPASS cache status in the response headers.
     */
    edit(params: VariantEditParams, options?: Core.RequestOptions): Core.APIPromise<VariantEditResponse>;
    /**
     * Variant support enables caching variants of images with certain file extensions
     * in addition to the original. This only applies when the origin server sends the
     * 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but
     * does not serve the variant requested, the response will not be cached. This will
     * be indicated with BYPASS cache status in the response headers.
     */
    get(params: VariantGetParams, options?: Core.RequestOptions): Core.APIPromise<VariantGetResponse>;
}
/**
 * Variant support enables caching variants of images with certain file extensions
 * in addition to the original. This only applies when the origin server sends the
 * 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but
 * does not serve the variant requested, the response will not be cached. This will
 * be indicated with BYPASS cache status in the response headers.
 */
export interface CacheVariant {
    /**
     * ID of the zone setting.
     */
    id: CacheVariantIdentifier;
    /**
     * last time this setting was modified.
     */
    modified_on: string | null;
}
/**
 * ID of the zone setting.
 */
export type CacheVariantIdentifier = 'variants';
/**
 * Variant support enables caching variants of images with certain file extensions
 * in addition to the original. This only applies when the origin server sends the
 * 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but
 * does not serve the variant requested, the response will not be cached. This will
 * be indicated with BYPASS cache status in the response headers.
 */
export interface VariantEditResponse {
    /**
     * ID of the zone setting.
     */
    id: CacheVariantIdentifier;
    /**
     * last time this setting was modified.
     */
    modified_on: string | null;
    /**
     * Value of the zone setting.
     */
    value: VariantEditResponse.Value;
}
export declare namespace VariantEditResponse {
    /**
     * Value of the zone setting.
     */
    interface Value {
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for avif.
         */
        avif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for bmp.
         */
        bmp?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for gif.
         */
        gif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jp2.
         */
        jp2?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpeg.
         */
        jpeg?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpg.
         */
        jpg?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpg2.
         */
        jpg2?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for png.
         */
        png?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for tif.
         */
        tif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for tiff.
         */
        tiff?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for webp.
         */
        webp?: Array<string>;
    }
}
/**
 * Variant support enables caching variants of images with certain file extensions
 * in addition to the original. This only applies when the origin server sends the
 * 'Vary: Accept' response header. If the origin server sends 'Vary: Accept' but
 * does not serve the variant requested, the response will not be cached. This will
 * be indicated with BYPASS cache status in the response headers.
 */
export interface VariantGetResponse {
    /**
     * ID of the zone setting.
     */
    id: CacheVariantIdentifier;
    /**
     * last time this setting was modified.
     */
    modified_on: string | null;
    /**
     * Value of the zone setting.
     */
    value: VariantGetResponse.Value;
}
export declare namespace VariantGetResponse {
    /**
     * Value of the zone setting.
     */
    interface Value {
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for avif.
         */
        avif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for bmp.
         */
        bmp?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for gif.
         */
        gif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jp2.
         */
        jp2?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpeg.
         */
        jpeg?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpg.
         */
        jpg?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpg2.
         */
        jpg2?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for png.
         */
        png?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for tif.
         */
        tif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for tiff.
         */
        tiff?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for webp.
         */
        webp?: Array<string>;
    }
}
export interface VariantDeleteParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface VariantEditParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param: Value of the zone setting.
     */
    value: VariantEditParams.Value;
}
export declare namespace VariantEditParams {
    /**
     * Value of the zone setting.
     */
    interface Value {
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for avif.
         */
        avif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for bmp.
         */
        bmp?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for gif.
         */
        gif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jp2.
         */
        jp2?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpeg.
         */
        jpeg?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpg.
         */
        jpg?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for jpg2.
         */
        jpg2?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for png.
         */
        png?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for tif.
         */
        tif?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for tiff.
         */
        tiff?: Array<string>;
        /**
         * List of strings with the MIME types of all the variants that should be served
         * for webp.
         */
        webp?: Array<string>;
    }
}
export interface VariantGetParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace Variants {
    export import CacheVariant = VariantsAPI.CacheVariant;
    export import CacheVariantIdentifier = VariantsAPI.CacheVariantIdentifier;
    export import VariantEditResponse = VariantsAPI.VariantEditResponse;
    export import VariantGetResponse = VariantsAPI.VariantGetResponse;
    export import VariantDeleteParams = VariantsAPI.VariantDeleteParams;
    export import VariantEditParams = VariantsAPI.VariantEditParams;
    export import VariantGetParams = VariantsAPI.VariantGetParams;
}
//# sourceMappingURL=variants.d.ts.map