/**
 * Cloudflare ORIGIN-TLS-CLIENT-AUTH API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service origin-tls-client-auth
 */
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 GetHostnameRequest {
    hostname: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetHostnameRequest: Schema.Schema<GetHostnameRequest>;
export interface GetHostnameResponse {
    /** Identifier. */
    certId?: string | null;
    /** Status of the certificate or the association. */
    certStatus?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** The time when the certificate was updated. */
    certUpdatedAt?: string | null;
    /** The time when the certificate was uploaded. */
    certUploadedOn?: string | null;
    /** The hostname certificate. */
    certificate?: string | null;
    /** The time when the certificate was created. */
    createdAt?: string | null;
    /** Indicates whether hostname-level authenticated origin pulls is enabled. A null value voids the association. */
    enabled?: boolean | null;
    /** The date when the certificate expires. */
    expiresOn?: string | null;
    /** The hostname on the origin for which the client certificate uploaded will be used. */
    hostname?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The serial number on the uploaded certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate or the association. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** The time when the certificate was updated. */
    updatedAt?: string | null;
}
export declare const GetHostnameResponse: Schema.Schema<GetHostnameResponse>;
export type GetHostnameError = DefaultErrors;
export declare const getHostname: API.OperationMethod<GetHostnameRequest, GetHostnameResponse, GetHostnameError, Credentials | HttpClient.HttpClient>;
export interface PutHostnameRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: */
    config: {
        certId?: string;
        enabled?: boolean | null;
        hostname?: string;
    }[];
}
export declare const PutHostnameRequest: Schema.Schema<PutHostnameRequest>;
export interface PutHostnameResponse {
    result: {
        certId?: string | null;
        certStatus?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
        certUpdatedAt?: string | null;
        certUploadedOn?: string | null;
        certificate?: string | null;
        createdAt?: string | null;
        enabled?: boolean | null;
        expiresOn?: string | null;
        hostname?: string | null;
        issuer?: string | null;
        serialNumber?: string | null;
        signature?: string | null;
        status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
        updatedAt?: string | null;
        id?: string | null;
        privateKey?: string | null;
    }[];
}
export declare const PutHostnameResponse: Schema.Schema<PutHostnameResponse>;
export type PutHostnameError = DefaultErrors;
export declare const putHostname: API.PaginatedOperationMethod<PutHostnameRequest, PutHostnameResponse, PutHostnameError, Credentials | HttpClient.HttpClient>;
export interface GetHostnameCertificateRequest {
    certificateId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetHostnameCertificateRequest: Schema.Schema<GetHostnameCertificateRequest>;
export interface GetHostnameCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The hostname certificate. */
    certificate?: string | null;
    /** The date when the certificate expires. */
    expiresOn?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The serial number on the uploaded certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate or the association. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** The time when the certificate was uploaded. */
    uploadedOn?: string | null;
}
export declare const GetHostnameCertificateResponse: Schema.Schema<GetHostnameCertificateResponse>;
export type GetHostnameCertificateError = DefaultErrors;
export declare const getHostnameCertificate: API.OperationMethod<GetHostnameCertificateRequest, GetHostnameCertificateResponse, GetHostnameCertificateError, Credentials | HttpClient.HttpClient>;
export interface ListHostnameCertificatesRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const ListHostnameCertificatesRequest: Schema.Schema<ListHostnameCertificatesRequest>;
export interface ListHostnameCertificatesResponse {
    result: {
        certId?: string | null;
        certStatus?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
        certUpdatedAt?: string | null;
        certUploadedOn?: string | null;
        certificate?: string | null;
        createdAt?: string | null;
        enabled?: boolean | null;
        expiresOn?: string | null;
        hostname?: string | null;
        issuer?: string | null;
        serialNumber?: string | null;
        signature?: string | null;
        status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
        updatedAt?: string | null;
        id?: string | null;
        privateKey?: string | null;
    }[];
}
export declare const ListHostnameCertificatesResponse: Schema.Schema<ListHostnameCertificatesResponse>;
export type ListHostnameCertificatesError = DefaultErrors;
export declare const listHostnameCertificates: API.PaginatedOperationMethod<ListHostnameCertificatesRequest, ListHostnameCertificatesResponse, ListHostnameCertificatesError, Credentials | HttpClient.HttpClient>;
export interface CreateHostnameCertificateRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The hostname certificate. */
    certificate: string;
    /** Body param: The hostname certificate's private key. */
    privateKey: string;
}
export declare const CreateHostnameCertificateRequest: Schema.Schema<CreateHostnameCertificateRequest>;
export interface CreateHostnameCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The hostname certificate. */
    certificate?: string | null;
    /** The date when the certificate expires. */
    expiresOn?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The serial number on the uploaded certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate or the association. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** The time when the certificate was uploaded. */
    uploadedOn?: string | null;
}
export declare const CreateHostnameCertificateResponse: Schema.Schema<CreateHostnameCertificateResponse>;
export type CreateHostnameCertificateError = DefaultErrors;
export declare const createHostnameCertificate: API.OperationMethod<CreateHostnameCertificateRequest, CreateHostnameCertificateResponse, CreateHostnameCertificateError, Credentials | HttpClient.HttpClient>;
export interface DeleteHostnameCertificateRequest {
    certificateId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteHostnameCertificateRequest: Schema.Schema<DeleteHostnameCertificateRequest>;
export interface DeleteHostnameCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The hostname certificate. */
    certificate?: string | null;
    /** The date when the certificate expires. */
    expiresOn?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The serial number on the uploaded certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate or the association. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** The time when the certificate was uploaded. */
    uploadedOn?: string | null;
}
export declare const DeleteHostnameCertificateResponse: Schema.Schema<DeleteHostnameCertificateResponse>;
export type DeleteHostnameCertificateError = DefaultErrors;
export declare const deleteHostnameCertificate: API.OperationMethod<DeleteHostnameCertificateRequest, DeleteHostnameCertificateResponse, DeleteHostnameCertificateError, Credentials | HttpClient.HttpClient>;
export interface GetOriginTlsClientAuthRequest {
    certificateId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetOriginTlsClientAuthRequest: Schema.Schema<GetOriginTlsClientAuthRequest>;
export interface GetOriginTlsClientAuthResponse {
    /** Identifier. */
    id?: string | null;
    /** The zone's leaf certificate. */
    certificate?: string | null;
    /** When the certificate from the authority expires. */
    expiresOn?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate activation. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** This is the time the certificate was uploaded. */
    uploadedOn?: string | null;
    /** Indicates whether zone-level authenticated origin pulls is enabled. */
    enabled?: boolean | null;
    /** The zone's private key. */
    privateKey?: string | null;
}
export declare const GetOriginTlsClientAuthResponse: Schema.Schema<GetOriginTlsClientAuthResponse>;
export type GetOriginTlsClientAuthError = DefaultErrors;
export declare const getOriginTlsClientAuth: API.OperationMethod<GetOriginTlsClientAuthRequest, GetOriginTlsClientAuthResponse, GetOriginTlsClientAuthError, Credentials | HttpClient.HttpClient>;
export interface ListOriginTlsClientAuthsRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const ListOriginTlsClientAuthsRequest: Schema.Schema<ListOriginTlsClientAuthsRequest>;
export interface ListOriginTlsClientAuthsResponse {
    result: {
        id?: string | null;
        certificate?: string | null;
        expiresOn?: string | null;
        issuer?: string | null;
        signature?: string | null;
        status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
        uploadedOn?: string | null;
        enabled?: boolean | null;
        privateKey?: string | null;
    }[];
}
export declare const ListOriginTlsClientAuthsResponse: Schema.Schema<ListOriginTlsClientAuthsResponse>;
export type ListOriginTlsClientAuthsError = DefaultErrors;
export declare const listOriginTlsClientAuths: API.PaginatedOperationMethod<ListOriginTlsClientAuthsRequest, ListOriginTlsClientAuthsResponse, ListOriginTlsClientAuthsError, Credentials | HttpClient.HttpClient>;
export interface CreateOriginTlsClientAuthRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The zone's leaf certificate. */
    certificate: string;
    /** Body param: The zone's private key. */
    privateKey: string;
}
export declare const CreateOriginTlsClientAuthRequest: Schema.Schema<CreateOriginTlsClientAuthRequest>;
export interface CreateOriginTlsClientAuthResponse {
    /** Identifier. */
    id?: string | null;
    /** The zone's leaf certificate. */
    certificate?: string | null;
    /** When the certificate from the authority expires. */
    expiresOn?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate activation. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** This is the time the certificate was uploaded. */
    uploadedOn?: string | null;
    /** Indicates whether zone-level authenticated origin pulls is enabled. */
    enabled?: boolean | null;
    /** The zone's private key. */
    privateKey?: string | null;
}
export declare const CreateOriginTlsClientAuthResponse: Schema.Schema<CreateOriginTlsClientAuthResponse>;
export type CreateOriginTlsClientAuthError = DefaultErrors;
export declare const createOriginTlsClientAuth: API.OperationMethod<CreateOriginTlsClientAuthRequest, CreateOriginTlsClientAuthResponse, CreateOriginTlsClientAuthError, Credentials | HttpClient.HttpClient>;
export interface DeleteOriginTlsClientAuthRequest {
    certificateId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteOriginTlsClientAuthRequest: Schema.Schema<DeleteOriginTlsClientAuthRequest>;
export interface DeleteOriginTlsClientAuthResponse {
    /** Identifier. */
    id?: string | null;
    /** The zone's leaf certificate. */
    certificate?: string | null;
    /** When the certificate from the authority expires. */
    expiresOn?: string | null;
    /** The certificate authority that issued the certificate. */
    issuer?: string | null;
    /** The type of hash used for the certificate. */
    signature?: string | null;
    /** Status of the certificate activation. */
    status?: "initializing" | "pending_deployment" | "pending_deletion" | "active" | "deleted" | "deployment_timed_out" | "deletion_timed_out" | null;
    /** This is the time the certificate was uploaded. */
    uploadedOn?: string | null;
    /** Indicates whether zone-level authenticated origin pulls is enabled. */
    enabled?: boolean | null;
    /** The zone's private key. */
    privateKey?: string | null;
}
export declare const DeleteOriginTlsClientAuthResponse: Schema.Schema<DeleteOriginTlsClientAuthResponse>;
export type DeleteOriginTlsClientAuthError = DefaultErrors;
export declare const deleteOriginTlsClientAuth: API.OperationMethod<DeleteOriginTlsClientAuthRequest, DeleteOriginTlsClientAuthResponse, DeleteOriginTlsClientAuthError, Credentials | HttpClient.HttpClient>;
export interface GetSettingRequest {
    /** Identifier. */
    zoneId: string;
}
export declare const GetSettingRequest: Schema.Schema<GetSettingRequest>;
export interface GetSettingResponse {
    /** Indicates whether zone-level authenticated origin pulls is enabled. */
    enabled?: boolean | null;
}
export declare const GetSettingResponse: Schema.Schema<GetSettingResponse>;
export type GetSettingError = DefaultErrors;
export declare const getSetting: API.OperationMethod<GetSettingRequest, GetSettingResponse, GetSettingError, Credentials | HttpClient.HttpClient>;
export interface PutSettingRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: Indicates whether zone-level authenticated origin pulls is enabled. */
    enabled: boolean;
}
export declare const PutSettingRequest: Schema.Schema<PutSettingRequest>;
export interface PutSettingResponse {
    /** Indicates whether zone-level authenticated origin pulls is enabled. */
    enabled?: boolean | null;
}
export declare const PutSettingResponse: Schema.Schema<PutSettingResponse>;
export type PutSettingError = DefaultErrors;
export declare const putSetting: API.OperationMethod<PutSettingRequest, PutSettingResponse, PutSettingError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=origin-tls-client-auth.d.ts.map