import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as TLSAPI from 'cloudflaredev/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<Setting>;
    /**
     * Delete the tls setting value for the hostname.
     */
    delete(settingId: 'ciphers' | 'min_tls_version' | 'http2', hostname: string, params: TLSDeleteParams, options?: Core.RequestOptions): Core.APIPromise<TLSDeleteResponse>;
    /**
     * 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 Setting {
    /**
     * 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?: SettingValue;
}
/**
 * The tls setting value.
 */
export type SettingValue = number | string | Array<string>;
/**
 * The tls setting value.
 */
export type SettingValueParam = number | string | Array<string>;
export interface TLSDeleteResponse {
    /**
     * 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?: string;
    /**
     * This is the time the tls setting was updated.
     */
    updated_at?: string;
    value?: string;
}
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?: TLSAPI.SettingValue;
    }
}
export interface TLSUpdateParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param: The tls setting value.
     */
    value: SettingValueParam;
}
export interface TLSDeleteParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export interface TLSGetParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace TLS {
    export import Setting = TLSAPI.Setting;
    export import SettingValue = TLSAPI.SettingValue;
    export import TLSDeleteResponse = TLSAPI.TLSDeleteResponse;
    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