/**
 * Cloudflare ACM API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service acm
 */
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";
declare const AdvancedCertificateManagerRequired_base: Schema.Class<AdvancedCertificateManagerRequired, Schema.TaggedStruct<"AdvancedCertificateManagerRequired", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class AdvancedCertificateManagerRequired extends AdvancedCertificateManagerRequired_base {
}
declare const InvalidObjectIdentifier_base: Schema.Class<InvalidObjectIdentifier, Schema.TaggedStruct<"InvalidObjectIdentifier", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class InvalidObjectIdentifier extends InvalidObjectIdentifier_base {
}
export interface GetCustomTrustStoreRequest {
    customOriginTrustStoreId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetCustomTrustStoreRequest: Schema.Schema<GetCustomTrustStoreRequest>;
export interface GetCustomTrustStoreResponse {
    /** Identifier. */
    id: string;
    /** The root CA certificate in PEM format. Only root CA certificates are accepted; intermediate and leaf certificates are not supported. */
    certificate: string;
    /** When the certificate expires. */
    expiresOn: string;
    /** The certificate authority that issued the certificate. */
    issuer: string;
    /** The type of hash used for the certificate. */
    signature: string;
    /** Status of the zone's custom SSL. */
    status: "initializing" | "pending_deployment" | "active" | "pending_deletion" | "deleted" | "expired" | (string & {});
    /** When the certificate was last modified. */
    updatedAt: string;
    /** When the certificate was uploaded to Cloudflare. */
    uploadedOn: string;
}
export declare const GetCustomTrustStoreResponse: Schema.Schema<GetCustomTrustStoreResponse>;
export type GetCustomTrustStoreError = DefaultErrors;
export declare const getCustomTrustStore: API.OperationMethod<GetCustomTrustStoreRequest, GetCustomTrustStoreResponse, GetCustomTrustStoreError, Credentials | HttpClient.HttpClient>;
export interface ListCustomTrustStoresRequest {
    /** Path param: Identifier. */
    zoneId: string;
    page?: number;
    perPage?: number;
    /** Query param: Limit to the number of records returned. */
    limit?: number;
    /** Query param: Offset the results */
    offset?: number;
}
export declare const ListCustomTrustStoresRequest: Schema.Schema<ListCustomTrustStoresRequest>;
export interface ListCustomTrustStoresResponse {
    result: {
        id: string;
        certificate: string;
        expiresOn: string;
        issuer: string;
        signature: string;
        status: "initializing" | "pending_deployment" | "active" | "pending_deletion" | "deleted" | "expired" | (string & {});
        updatedAt: string;
        uploadedOn: string;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListCustomTrustStoresResponse: Schema.Schema<ListCustomTrustStoresResponse>;
export type ListCustomTrustStoresError = DefaultErrors;
export declare const listCustomTrustStores: API.PaginatedOperationMethod<ListCustomTrustStoresRequest, ListCustomTrustStoresResponse, ListCustomTrustStoresError, Credentials | HttpClient.HttpClient>;
export interface CreateCustomTrustStoreRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The root CA certificate in PEM format. Only root CA certificates are accepted; intermediate and leaf certificates are not supported. */
    certificate: string;
}
export declare const CreateCustomTrustStoreRequest: Schema.Schema<CreateCustomTrustStoreRequest>;
export interface CreateCustomTrustStoreResponse {
    /** Identifier. */
    id: string;
    /** The root CA certificate in PEM format. Only root CA certificates are accepted; intermediate and leaf certificates are not supported. */
    certificate: string;
    /** When the certificate expires. */
    expiresOn: string;
    /** The certificate authority that issued the certificate. */
    issuer: string;
    /** The type of hash used for the certificate. */
    signature: string;
    /** Status of the zone's custom SSL. */
    status: "initializing" | "pending_deployment" | "active" | "pending_deletion" | "deleted" | "expired" | (string & {});
    /** When the certificate was last modified. */
    updatedAt: string;
    /** When the certificate was uploaded to Cloudflare. */
    uploadedOn: string;
}
export declare const CreateCustomTrustStoreResponse: Schema.Schema<CreateCustomTrustStoreResponse>;
export type CreateCustomTrustStoreError = DefaultErrors;
export declare const createCustomTrustStore: API.OperationMethod<CreateCustomTrustStoreRequest, CreateCustomTrustStoreResponse, CreateCustomTrustStoreError, Credentials | HttpClient.HttpClient>;
export interface DeleteCustomTrustStoreRequest {
    customOriginTrustStoreId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteCustomTrustStoreRequest: Schema.Schema<DeleteCustomTrustStoreRequest>;
export interface DeleteCustomTrustStoreResponse {
    /** Identifier. */
    id?: string | null;
}
export declare const DeleteCustomTrustStoreResponse: Schema.Schema<DeleteCustomTrustStoreResponse>;
export type DeleteCustomTrustStoreError = DefaultErrors;
export declare const deleteCustomTrustStore: API.OperationMethod<DeleteCustomTrustStoreRequest, DeleteCustomTrustStoreResponse, DeleteCustomTrustStoreError, Credentials | HttpClient.HttpClient>;
export interface GetTotalTlRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetTotalTlRequest: Schema.Schema<GetTotalTlRequest>;
export interface GetTotalTlResponse {
    /** The Certificate Authority that Total TLS certificates will be issued through. */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | (string & {}) | null;
    /** If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone. */
    enabled?: boolean | null;
    /** The validity period in days for the certificates ordered via Total TLS. */
    validityPeriod?: number | null;
}
export declare const GetTotalTlResponse: Schema.Schema<GetTotalTlResponse>;
export type GetTotalTlError = DefaultErrors | InvalidObjectIdentifier | AdvancedCertificateManagerRequired;
export declare const getTotalTl: API.OperationMethod<GetTotalTlRequest, GetTotalTlResponse, GetTotalTlError, Credentials | HttpClient.HttpClient>;
export interface UpdateTotalTlRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone. */
    enabled: boolean;
    /** Body param: The Certificate Authority that Total TLS certificates will be issued through. */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | (string & {});
}
export declare const UpdateTotalTlRequest: Schema.Schema<UpdateTotalTlRequest>;
export interface UpdateTotalTlResponse {
    /** The Certificate Authority that Total TLS certificates will be issued through. */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | (string & {}) | null;
    /** If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone. */
    enabled?: boolean | null;
    /** The validity period in days for the certificates ordered via Total TLS. */
    validityPeriod?: "90" | null;
}
export declare const UpdateTotalTlResponse: Schema.Schema<UpdateTotalTlResponse>;
export type UpdateTotalTlError = DefaultErrors;
export declare const updateTotalTl: API.OperationMethod<UpdateTotalTlRequest, UpdateTotalTlResponse, UpdateTotalTlError, Credentials | HttpClient.HttpClient>;
export interface EditTotalTlRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone. */
    enabled: boolean;
    /** Body param: The Certificate Authority that Total TLS certificates will be issued through. */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | (string & {});
}
export declare const EditTotalTlRequest: Schema.Schema<EditTotalTlRequest>;
export interface EditTotalTlResponse {
    /** The Certificate Authority that Total TLS certificates will be issued through. */
    certificateAuthority?: "google" | "lets_encrypt" | "ssl_com" | (string & {}) | null;
    /** If enabled, Total TLS will order a hostname specific TLS certificate for any proxied A, AAAA, or CNAME record in your zone. */
    enabled?: boolean | null;
    /** The validity period in days for the certificates ordered via Total TLS. */
    validityPeriod?: "90" | null;
}
export declare const EditTotalTlResponse: Schema.Schema<EditTotalTlResponse>;
export type EditTotalTlError = DefaultErrors;
export declare const editTotalTl: API.OperationMethod<EditTotalTlRequest, EditTotalTlResponse, EditTotalTlError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=acm.d.ts.map