import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as TLSAPI from 'cloudflare/resources/hostnames/settings/tls';
export declare class TLS extends APIResource {
    /**
     * Update the tls setting value for the hostname.
     */
    update(settingId: 'ciphers' | 'min_tls_version' | 'http2', hostname: string, params: TLSUpdateParams, options?: Core.RequestOptions): Core.APIPromise<TLSCertificatesAndHostnamesSettingObject>;
    /**
     * Delete the tls setting value for the hostname.
     */
    delete(settingId: 'ciphers' | 'min_tls_version' | 'http2', hostname: string, params: TLSDeleteParams, options?: Core.RequestOptions): Core.APIPromise<TLSCertificatesAndHostnamesSettingObjectDelete>;
    /**
     * List the requested TLS setting for the hostnames under this zone.
     */
    get(settingId: 'ciphers' | 'min_tls_version' | 'http2', params: TLSGetParams, options?: Core.RequestOptions): Core.APIPromise<TLSGetResponse | null>;
}
export interface TLSCertificatesAndHostnamesSettingObject {
    /**
     * This is the time the tls setting was originally created for this hostname.
     */
    created_at?: string;
    /**
     * The hostname for which the tls settings are set.
     */
    hostname?: string;
    /**
     * Deployment status for the given tls setting.
     */
    status?: string;
    /**
     * This is the time the tls setting was updated.
     */
    updated_at?: string;
    /**
     * The tls setting value.
     */
    value?: number | string | Array<string>;
}
export interface TLSCertificatesAndHostnamesSettingObjectDelete {
    /**
     * This is the time the tls setting was originally created for this hostname.
     */
    created_at?: string;
    /**
     * The hostname for which the tls settings are set.
     */
    hostname?: string;
    status?: unknown;
    /**
     * This is the time the tls setting was updated.
     */
    updated_at?: string;
    value?: unknown;
}
export type TLSGetResponse = Array<TLSGetResponse.TLSGetResponseItem>;
export declare namespace TLSGetResponse {
    interface TLSGetResponseItem {
        /**
         * This is the time the tls setting was originally created for this hostname.
         */
        created_at?: string;
        /**
         * The hostname for which the tls settings are set.
         */
        hostname?: string;
        /**
         * Deployment status for the given tls setting.
         */
        status?: string;
        /**
         * This is the time the tls setting was updated.
         */
        updated_at?: string;
        /**
         * The tls setting value.
         */
        value?: number | string | Array<string>;
    }
}
export interface TLSUpdateParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param: The tls setting value.
     */
    value: number | string | Array<string>;
}
export interface TLSDeleteParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface TLSGetParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace TLS {
    export import TLSCertificatesAndHostnamesSettingObject = TLSAPI.TLSCertificatesAndHostnamesSettingObject;
    export import TLSCertificatesAndHostnamesSettingObjectDelete = TLSAPI.TLSCertificatesAndHostnamesSettingObjectDelete;
    export import TLSGetResponse = TLSAPI.TLSGetResponse;
    export import TLSUpdateParams = TLSAPI.TLSUpdateParams;
    export import TLSDeleteParams = TLSAPI.TLSDeleteParams;
    export import TLSGetParams = TLSAPI.TLSGetParams;
}
//# sourceMappingURL=tls.d.ts.map