import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as SecurityHeadersAPI from 'cloudflaredev/resources/zones/settings/security-headers';
export declare class SecurityHeaders extends APIResource {
    /**
     * Cloudflare security header for a zone.
     */
    edit(params: SecurityHeaderEditParams, options?: Core.RequestOptions): Core.APIPromise<SecurityHeaders>;
    /**
     * Cloudflare security header for a zone.
     */
    get(params: SecurityHeaderGetParams, options?: Core.RequestOptions): Core.APIPromise<SecurityHeaders>;
}
/**
 * Cloudflare security header for a zone.
 */
export interface SecurityHeaders {
    /**
     * ID of the zone's security header.
     */
    id: 'security_header';
    /**
     * Current value of the zone setting.
     */
    value: SecurityHeaders.Value;
    /**
     * Whether or not this setting can be modified for this zone (based on your
     * Cloudflare plan level).
     */
    editable?: true | false;
    /**
     * last time this setting was modified.
     */
    modified_on?: string | null;
}
export declare namespace SecurityHeaders {
    /**
     * Current value of the zone setting.
     */
    interface Value {
        /**
         * Strict Transport Security.
         */
        strict_transport_security?: Value.StrictTransportSecurity;
    }
    namespace Value {
        /**
         * Strict Transport Security.
         */
        interface StrictTransportSecurity {
            /**
             * Whether or not strict transport security is enabled.
             */
            enabled?: boolean;
            /**
             * Include all subdomains for strict transport security.
             */
            include_subdomains?: boolean;
            /**
             * Max age in seconds of the strict transport security.
             */
            max_age?: number;
            /**
             * Whether or not to include 'X-Content-Type-Options: nosniff' header.
             */
            nosniff?: boolean;
        }
    }
}
export interface SecurityHeaderEditParams {
    /**
     * Path param: Identifier
     */
    zone_id: string;
    /**
     * Body param:
     */
    value: SecurityHeaderEditParams.Value;
}
export declare namespace SecurityHeaderEditParams {
    interface Value {
        /**
         * Strict Transport Security.
         */
        strict_transport_security?: Value.StrictTransportSecurity;
    }
    namespace Value {
        /**
         * Strict Transport Security.
         */
        interface StrictTransportSecurity {
            /**
             * Whether or not strict transport security is enabled.
             */
            enabled?: boolean;
            /**
             * Include all subdomains for strict transport security.
             */
            include_subdomains?: boolean;
            /**
             * Max age in seconds of the strict transport security.
             */
            max_age?: number;
            /**
             * Whether or not to include 'X-Content-Type-Options: nosniff' header.
             */
            nosniff?: boolean;
        }
    }
}
export interface SecurityHeaderGetParams {
    /**
     * Identifier
     */
    zone_id: string;
}
export declare namespace SecurityHeaders {
    export import SecurityHeaders = SecurityHeadersAPI.SecurityHeaders;
    export import SecurityHeaderEditParams = SecurityHeadersAPI.SecurityHeaderEditParams;
    export import SecurityHeaderGetParams = SecurityHeadersAPI.SecurityHeaderGetParams;
}
//# sourceMappingURL=security-headers.d.ts.map