/**
 * Cloudflare SSL API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service ssl
 */
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 CreateAnalyzeRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: A ubiquitous bundle has the highest probability of being verified everywhere, even by clients using outdated or unusual trust stores. An optimal bundle uses the shortest chain and newest i */
    bundleMethod?: "ubiquitous" | "optimal" | "force";
    /** Body param: The zone's SSL certificate or certificate and the intermediate(s). */
    certificate?: string;
}
export declare const CreateAnalyzeRequest: Schema.Schema<CreateAnalyzeRequest>;
export type CreateAnalyzeResponse = unknown;
export declare const CreateAnalyzeResponse: Schema.Schema<CreateAnalyzeResponse>;
export type CreateAnalyzeError = DefaultErrors;
export declare const createAnalyze: API.OperationMethod<CreateAnalyzeRequest, CreateAnalyzeResponse, CreateAnalyzeError, Credentials | HttpClient.HttpClient>;
export interface GetCertificatePackRequest {
    certificatePackId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetCertificatePackRequest: Schema.Schema<GetCertificatePackRequest>;
export interface GetCertificatePackResponse {
    /** Identifier. */
    id: string;
    /** Array of certificates in this pack. */
    certificates: {
        id: string;
        hosts: string[];
        status: string;
        bundleMethod?: string | null;
        expiresOn?: string | null;
        geoRestrictions?: {
            label?: "us" | "eu" | "highest_security" | null;
        } | null;
        issuer?: string | null;
        modifiedOn?: string | null;
        priority?: number | null;
        signature?: string | null;
        uploadedOn?: string | null;
        zoneId?: string | null;
    }[];
    /** Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be empty. */
    hosts: string[];
    /** Status of certificate pack. */
    status: "initializing" | "pending_validation" | "deleted" | "pending_issuance" | "pending_deployment" | "pending_deletion" | "pending_expiration" | "expired" | "active" | "initializing_timed_out" | "validation_timed_out" | "issuance_timed_out" | "deployment_timed_out" | "deletion_timed_out" | "pending_cleanup" | "staging_deployment" | "staging_active" | "deactivating" | "inactive" | "backup_issued" | "holding_deployment";
    /** Type of certificate pack. */
    type: "mh_custom" | "managed_hostname" | "sni_custom" | "universal" | "advanced" | "total_tls" | "keyless" | "legacy_custom";
    /** Certificate Authority selected for the order. For information on any certificate authority specific details or restrictions [see this page for more details.](https://developers.cloudflare.com/ssl/refe */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | null;
    /** Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true. */
    cloudflareBranding?: boolean | null;
    /** Identifier of the primary certificate in a pack. */
    primaryCertificate?: string | null;
    /** Domain validation errors that have been received by the certificate authority (CA). */
    validationErrors?: {
        message?: string | null;
    }[] | null;
    /** Validation Method selected for the order. */
    validationMethod?: "txt" | "http" | "email" | null;
    /** Certificates' validation records. */
    validationRecords?: {
        emails?: string[] | null;
        httpBody?: string | null;
        httpUrl?: string | null;
        txtName?: string | null;
        txtValue?: string | null;
    }[] | null;
    /** Validity Days selected for the order. */
    validityDays?: "14" | "30" | "90" | "365" | null;
}
export declare const GetCertificatePackResponse: Schema.Schema<GetCertificatePackResponse>;
export type GetCertificatePackError = DefaultErrors;
export declare const getCertificatePack: API.OperationMethod<GetCertificatePackRequest, GetCertificatePackResponse, GetCertificatePackError, Credentials | HttpClient.HttpClient>;
export interface ListCertificatePacksRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Query param: Include Certificate Packs of all statuses, not just active ones. */
    status?: "all";
}
export declare const ListCertificatePacksRequest: Schema.Schema<ListCertificatePacksRequest>;
export interface ListCertificatePacksResponse {
    result: {
        id: string;
        certificates: {
            id: string;
            hosts: string[];
            status: string;
            bundleMethod?: string | null;
            expiresOn?: string | null;
            geoRestrictions?: {
                label?: "us" | "eu" | "highest_security" | null;
            } | null;
            issuer?: string | null;
            modifiedOn?: string | null;
            priority?: number | null;
            signature?: string | null;
            uploadedOn?: string | null;
            zoneId?: string | null;
        }[];
        hosts: string[];
        status: "initializing" | "pending_validation" | "deleted" | "pending_issuance" | "pending_deployment" | "pending_deletion" | "pending_expiration" | "expired" | "active" | "initializing_timed_out" | "validation_timed_out" | "issuance_timed_out" | "deployment_timed_out" | "deletion_timed_out" | "pending_cleanup" | "staging_deployment" | "staging_active" | "deactivating" | "inactive" | "backup_issued" | "holding_deployment";
        type: "mh_custom" | "managed_hostname" | "sni_custom" | "universal" | "advanced" | "total_tls" | "keyless" | "legacy_custom";
        certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | null;
        cloudflareBranding?: boolean | null;
        primaryCertificate?: string | null;
        validationErrors?: {
            message?: string | null;
        }[] | null;
        validationMethod?: "txt" | "http" | "email" | null;
        validationRecords?: {
            emails?: string[] | null;
            httpBody?: string | null;
            httpUrl?: string | null;
            txtName?: string | null;
            txtValue?: string | null;
        }[] | null;
        validityDays?: "14" | "30" | "90" | "365" | null;
    }[];
}
export declare const ListCertificatePacksResponse: Schema.Schema<ListCertificatePacksResponse>;
export type ListCertificatePacksError = DefaultErrors;
export declare const listCertificatePacks: API.PaginatedOperationMethod<ListCertificatePacksRequest, ListCertificatePacksResponse, ListCertificatePacksError, Credentials | HttpClient.HttpClient>;
export interface CreateCertificatePackRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Certificate Authority selected for the order. For information on any certificate authority specific details or restrictions [see this page for more details.](https://developers.cloudflare. */
    certificateAuthority: "google" | "lets_encrypt" | "ssl_com";
    /** Body param: Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be empty. */
    hosts: string[];
    /** Body param: Type of certificate pack. */
    type: "advanced";
    /** Body param: Validation Method selected for the order. */
    validationMethod: "txt" | "http" | "email";
    /** Body param: Validity Days selected for the order. */
    validityDays: "14" | "30" | "90" | "365";
    /** Body param: Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true. */
    cloudflareBranding?: boolean;
}
export declare const CreateCertificatePackRequest: Schema.Schema<CreateCertificatePackRequest>;
export interface CreateCertificatePackResponse {
    /** Identifier. */
    id: string;
    /** Array of certificates in this pack. */
    certificates: {
        id: string;
        hosts: string[];
        status: string;
        bundleMethod?: string | null;
        expiresOn?: string | null;
        geoRestrictions?: {
            label?: "us" | "eu" | "highest_security" | null;
        } | null;
        issuer?: string | null;
        modifiedOn?: string | null;
        priority?: number | null;
        signature?: string | null;
        uploadedOn?: string | null;
        zoneId?: string | null;
    }[];
    /** Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be empty. */
    hosts: string[];
    /** Status of certificate pack. */
    status: "initializing" | "pending_validation" | "deleted" | "pending_issuance" | "pending_deployment" | "pending_deletion" | "pending_expiration" | "expired" | "active" | "initializing_timed_out" | "validation_timed_out" | "issuance_timed_out" | "deployment_timed_out" | "deletion_timed_out" | "pending_cleanup" | "staging_deployment" | "staging_active" | "deactivating" | "inactive" | "backup_issued" | "holding_deployment";
    /** Type of certificate pack. */
    type: "mh_custom" | "managed_hostname" | "sni_custom" | "universal" | "advanced" | "total_tls" | "keyless" | "legacy_custom";
    /** Certificate Authority selected for the order. For information on any certificate authority specific details or restrictions [see this page for more details.](https://developers.cloudflare.com/ssl/refe */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | null;
    /** Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true. */
    cloudflareBranding?: boolean | null;
    /** Identifier of the primary certificate in a pack. */
    primaryCertificate?: string | null;
    /** Domain validation errors that have been received by the certificate authority (CA). */
    validationErrors?: {
        message?: string | null;
    }[] | null;
    /** Validation Method selected for the order. */
    validationMethod?: "txt" | "http" | "email" | null;
    /** Certificates' validation records. */
    validationRecords?: {
        emails?: string[] | null;
        httpBody?: string | null;
        httpUrl?: string | null;
        txtName?: string | null;
        txtValue?: string | null;
    }[] | null;
    /** Validity Days selected for the order. */
    validityDays?: "14" | "30" | "90" | "365" | null;
}
export declare const CreateCertificatePackResponse: Schema.Schema<CreateCertificatePackResponse>;
export type CreateCertificatePackError = DefaultErrors;
export declare const createCertificatePack: API.OperationMethod<CreateCertificatePackRequest, CreateCertificatePackResponse, CreateCertificatePackError, Credentials | HttpClient.HttpClient>;
export interface PatchCertificatePackRequest {
    certificatePackId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true. */
    cloudflareBranding?: boolean;
}
export declare const PatchCertificatePackRequest: Schema.Schema<PatchCertificatePackRequest>;
export interface PatchCertificatePackResponse {
    /** Identifier. */
    id: string;
    /** Array of certificates in this pack. */
    certificates: {
        id: string;
        hosts: string[];
        status: string;
        bundleMethod?: string | null;
        expiresOn?: string | null;
        geoRestrictions?: {
            label?: "us" | "eu" | "highest_security" | null;
        } | null;
        issuer?: string | null;
        modifiedOn?: string | null;
        priority?: number | null;
        signature?: string | null;
        uploadedOn?: string | null;
        zoneId?: string | null;
    }[];
    /** Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be empty. */
    hosts: string[];
    /** Status of certificate pack. */
    status: "initializing" | "pending_validation" | "deleted" | "pending_issuance" | "pending_deployment" | "pending_deletion" | "pending_expiration" | "expired" | "active" | "initializing_timed_out" | "validation_timed_out" | "issuance_timed_out" | "deployment_timed_out" | "deletion_timed_out" | "pending_cleanup" | "staging_deployment" | "staging_active" | "deactivating" | "inactive" | "backup_issued" | "holding_deployment";
    /** Type of certificate pack. */
    type: "mh_custom" | "managed_hostname" | "sni_custom" | "universal" | "advanced" | "total_tls" | "keyless" | "legacy_custom";
    /** Certificate Authority selected for the order. For information on any certificate authority specific details or restrictions [see this page for more details.](https://developers.cloudflare.com/ssl/refe */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | null;
    /** Whether or not to add Cloudflare Branding for the order. This will add a subdomain of sni.cloudflaressl.com as the Common Name if set to true. */
    cloudflareBranding?: boolean | null;
    /** Identifier of the primary certificate in a pack. */
    primaryCertificate?: string | null;
    /** Domain validation errors that have been received by the certificate authority (CA). */
    validationErrors?: {
        message?: string | null;
    }[] | null;
    /** Validation Method selected for the order. */
    validationMethod?: "txt" | "http" | "email" | null;
    /** Certificates' validation records. */
    validationRecords?: {
        emails?: string[] | null;
        httpBody?: string | null;
        httpUrl?: string | null;
        txtName?: string | null;
        txtValue?: string | null;
    }[] | null;
    /** Validity Days selected for the order. */
    validityDays?: "14" | "30" | "90" | "365" | null;
}
export declare const PatchCertificatePackResponse: Schema.Schema<PatchCertificatePackResponse>;
export type PatchCertificatePackError = DefaultErrors;
export declare const patchCertificatePack: API.OperationMethod<PatchCertificatePackRequest, PatchCertificatePackResponse, PatchCertificatePackError, Credentials | HttpClient.HttpClient>;
export interface DeleteCertificatePackRequest {
    certificatePackId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteCertificatePackRequest: Schema.Schema<DeleteCertificatePackRequest>;
export interface DeleteCertificatePackResponse {
    /** Identifier. */
    id?: string | null;
}
export declare const DeleteCertificatePackResponse: Schema.Schema<DeleteCertificatePackResponse>;
export type DeleteCertificatePackError = DefaultErrors;
export declare const deleteCertificatePack: API.OperationMethod<DeleteCertificatePackRequest, DeleteCertificatePackResponse, DeleteCertificatePackError, Credentials | HttpClient.HttpClient>;
export interface GetCertificatePackQuotaRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetCertificatePackQuotaRequest: Schema.Schema<GetCertificatePackQuotaRequest>;
export interface GetCertificatePackQuotaResponse {
    advanced?: {
        allocated?: number | null;
        used?: number | null;
    } | null;
}
export declare const GetCertificatePackQuotaResponse: Schema.Schema<GetCertificatePackQuotaResponse>;
export type GetCertificatePackQuotaError = DefaultErrors;
export declare const getCertificatePackQuota: API.OperationMethod<GetCertificatePackQuotaRequest, GetCertificatePackQuotaResponse, GetCertificatePackQuotaError, Credentials | HttpClient.HttpClient>;
export interface GetRecommendationRequest {
    zoneId: string;
}
export declare const GetRecommendationRequest: Schema.Schema<GetRecommendationRequest>;
export interface GetRecommendationResponse {
    id: string;
    /** Whether this setting can be updated or not. */
    editable: boolean;
    /** Last time this setting was modified. */
    modifiedOn: string;
    /** Current setting of the automatic SSL/TLS. */
    value: "auto" | "custom";
    /** Next time this zone will be scanned by the Automatic SSL/TLS. */
    nextScheduledScan?: string | null;
}
export declare const GetRecommendationResponse: Schema.Schema<GetRecommendationResponse>;
export type GetRecommendationError = DefaultErrors;
export declare const getRecommendation: API.OperationMethod<GetRecommendationRequest, GetRecommendationResponse, GetRecommendationError, Credentials | HttpClient.HttpClient>;
export interface GetUniversalSettingRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetUniversalSettingRequest: Schema.Schema<GetUniversalSettingRequest>;
export interface GetUniversalSettingResponse {
    /** Disabling Universal SSL removes any currently active Universal SSL certificates for your zone from the edge and prevents any future Universal SSL certificates from being ordered. If there are no advan */
    enabled?: boolean | null;
}
export declare const GetUniversalSettingResponse: Schema.Schema<GetUniversalSettingResponse>;
export type GetUniversalSettingError = DefaultErrors;
export declare const getUniversalSetting: API.OperationMethod<GetUniversalSettingRequest, GetUniversalSettingResponse, GetUniversalSettingError, Credentials | HttpClient.HttpClient>;
export interface PatchUniversalSettingRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Disabling Universal SSL removes any currently active Universal SSL certificates for your zone from the edge and prevents any future Universal SSL certificates from being ordered. If there  */
    enabled?: boolean;
}
export declare const PatchUniversalSettingRequest: Schema.Schema<PatchUniversalSettingRequest>;
export interface PatchUniversalSettingResponse {
    /** Disabling Universal SSL removes any currently active Universal SSL certificates for your zone from the edge and prevents any future Universal SSL certificates from being ordered. If there are no advan */
    enabled?: boolean | null;
}
export declare const PatchUniversalSettingResponse: Schema.Schema<PatchUniversalSettingResponse>;
export type PatchUniversalSettingError = DefaultErrors;
export declare const patchUniversalSetting: API.OperationMethod<PatchUniversalSettingRequest, PatchUniversalSettingResponse, PatchUniversalSettingError, Credentials | HttpClient.HttpClient>;
export interface GetVerificationRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Query param: Immediately retry SSL Verification. */
    retry?: true;
}
export declare const GetVerificationRequest: Schema.Schema<GetVerificationRequest>;
export type GetVerificationResponse = {
    certificateStatus: "initializing" | "authorizing" | "active" | "expired" | "issuing" | "timing_out" | "pending_deployment";
    brandCheck?: boolean | null;
    certPackUuid?: string | null;
    signature?: "ECDSAWithSHA256" | "SHA1WithRSA" | "SHA256WithRSA" | null;
    validationMethod?: "http" | "cname" | "txt" | null;
    verificationInfo?: {
        recordName?: "record_name" | "http_url" | "cname" | "txt_name" | null;
        recordTarget?: "record_value" | "http_body" | "cname_target" | "txt_value" | null;
    } | null;
    verificationStatus?: boolean | null;
    verificationType?: "cname" | "meta tag" | null;
}[];
export declare const GetVerificationResponse: Schema.Schema<GetVerificationResponse>;
export type GetVerificationError = DefaultErrors;
export declare const getVerification: API.OperationMethod<GetVerificationRequest, GetVerificationResponse, GetVerificationError, Credentials | HttpClient.HttpClient>;
export interface PatchVerificationRequest {
    certificatePackId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Desired validation method. */
    validationMethod: "http" | "cname" | "txt" | "email";
}
export declare const PatchVerificationRequest: Schema.Schema<PatchVerificationRequest>;
export interface PatchVerificationResponse {
    /** Result status. */
    status?: string | null;
    /** Desired validation method. */
    validationMethod?: "http" | "cname" | "txt" | "email" | null;
}
export declare const PatchVerificationResponse: Schema.Schema<PatchVerificationResponse>;
export type PatchVerificationError = DefaultErrors;
export declare const patchVerification: API.OperationMethod<PatchVerificationRequest, PatchVerificationResponse, PatchVerificationError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=ssl.d.ts.map