/**
 * Cloudflare CLIENT-CERTIFICATES API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service client-certificates
 */
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 GetClientCertificateRequest {
    clientCertificateId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const GetClientCertificateRequest: Schema.Schema<GetClientCertificateRequest>;
export interface GetClientCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The Client Certificate PEM */
    certificate?: string | null;
    /** Certificate Authority used to issue the Client Certificate */
    certificateAuthority?: {
        id?: string | null;
        name?: string | null;
    } | null;
    /** Common Name of the Client Certificate */
    commonName?: string | null;
    /** Country, provided by the CSR */
    country?: string | null;
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr?: string | null;
    /** Date that the Client Certificate expires */
    expiresOn?: string | null;
    /** Unique identifier of the Client Certificate */
    fingerprintSha256?: string | null;
    /** Date that the Client Certificate was issued by the Certificate Authority */
    issuedOn?: string | null;
    /** Location, provided by the CSR */
    location?: string | null;
    /** Organization, provided by the CSR */
    organization?: string | null;
    /** Organizational Unit, provided by the CSR */
    organizationalUnit?: string | null;
    /** The serial number on the created Client Certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the Client Certificate.. */
    signature?: string | null;
    /** Subject Key Identifier */
    ski?: string | null;
    /** State, provided by the CSR */
    state?: string | null;
    /** Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions */
    status?: "active" | "pending_reactivation" | "pending_revocation" | "revoked" | null;
    /** The number of days the Client Certificate will be valid after the issued_on date */
    validityDays?: number | null;
}
export declare const GetClientCertificateResponse: Schema.Schema<GetClientCertificateResponse>;
export type GetClientCertificateError = DefaultErrors;
export declare const getClientCertificate: API.OperationMethod<GetClientCertificateRequest, GetClientCertificateResponse, GetClientCertificateError, Credentials | HttpClient.HttpClient>;
export interface ListClientCertificatesRequest {
    /** 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;
    /** Query param: Client Certitifcate Status to filter results by. */
    status?: "all" | "active" | "pending_reactivation" | "pending_revocation" | "revoked";
}
export declare const ListClientCertificatesRequest: Schema.Schema<ListClientCertificatesRequest>;
export interface ListClientCertificatesResponse {
    result: {
        id?: string | null;
        certificate?: string | null;
        certificateAuthority?: {
            id?: string | null;
            name?: string | null;
        } | null;
        commonName?: string | null;
        country?: string | null;
        csr?: string | null;
        expiresOn?: string | null;
        fingerprintSha256?: string | null;
        issuedOn?: string | null;
        location?: string | null;
        organization?: string | null;
        organizationalUnit?: string | null;
        serialNumber?: string | null;
        signature?: string | null;
        ski?: string | null;
        state?: string | null;
        status?: "active" | "pending_reactivation" | "pending_revocation" | "revoked" | null;
        validityDays?: number | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListClientCertificatesResponse: Schema.Schema<ListClientCertificatesResponse>;
export type ListClientCertificatesError = DefaultErrors;
export declare const listClientCertificates: API.PaginatedOperationMethod<ListClientCertificatesRequest, ListClientCertificatesResponse, ListClientCertificatesError, Credentials | HttpClient.HttpClient>;
export interface CreateClientCertificateRequest {
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr: string;
    /** Body param: The number of days the Client Certificate will be valid after the issued_on date */
    validityDays: number;
}
export declare const CreateClientCertificateRequest: Schema.Schema<CreateClientCertificateRequest>;
export interface CreateClientCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The Client Certificate PEM */
    certificate?: string | null;
    /** Certificate Authority used to issue the Client Certificate */
    certificateAuthority?: {
        id?: string | null;
        name?: string | null;
    } | null;
    /** Common Name of the Client Certificate */
    commonName?: string | null;
    /** Country, provided by the CSR */
    country?: string | null;
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr?: string | null;
    /** Date that the Client Certificate expires */
    expiresOn?: string | null;
    /** Unique identifier of the Client Certificate */
    fingerprintSha256?: string | null;
    /** Date that the Client Certificate was issued by the Certificate Authority */
    issuedOn?: string | null;
    /** Location, provided by the CSR */
    location?: string | null;
    /** Organization, provided by the CSR */
    organization?: string | null;
    /** Organizational Unit, provided by the CSR */
    organizationalUnit?: string | null;
    /** The serial number on the created Client Certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the Client Certificate.. */
    signature?: string | null;
    /** Subject Key Identifier */
    ski?: string | null;
    /** State, provided by the CSR */
    state?: string | null;
    /** Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions */
    status?: "active" | "pending_reactivation" | "pending_revocation" | "revoked" | null;
    /** The number of days the Client Certificate will be valid after the issued_on date */
    validityDays?: number | null;
}
export declare const CreateClientCertificateResponse: Schema.Schema<CreateClientCertificateResponse>;
export type CreateClientCertificateError = DefaultErrors;
export declare const createClientCertificate: API.OperationMethod<CreateClientCertificateRequest, CreateClientCertificateResponse, CreateClientCertificateError, Credentials | HttpClient.HttpClient>;
export interface PatchClientCertificateRequest {
    clientCertificateId: string;
    /** Path param: Identifier. */
    zoneId: string;
    /** Body param: */
    reactivate?: boolean;
}
export declare const PatchClientCertificateRequest: Schema.Schema<PatchClientCertificateRequest>;
export interface PatchClientCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The Client Certificate PEM */
    certificate?: string | null;
    /** Certificate Authority used to issue the Client Certificate */
    certificateAuthority?: {
        id?: string | null;
        name?: string | null;
    } | null;
    /** Common Name of the Client Certificate */
    commonName?: string | null;
    /** Country, provided by the CSR */
    country?: string | null;
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr?: string | null;
    /** Date that the Client Certificate expires */
    expiresOn?: string | null;
    /** Unique identifier of the Client Certificate */
    fingerprintSha256?: string | null;
    /** Date that the Client Certificate was issued by the Certificate Authority */
    issuedOn?: string | null;
    /** Location, provided by the CSR */
    location?: string | null;
    /** Organization, provided by the CSR */
    organization?: string | null;
    /** Organizational Unit, provided by the CSR */
    organizationalUnit?: string | null;
    /** The serial number on the created Client Certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the Client Certificate.. */
    signature?: string | null;
    /** Subject Key Identifier */
    ski?: string | null;
    /** State, provided by the CSR */
    state?: string | null;
    /** Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions */
    status?: "active" | "pending_reactivation" | "pending_revocation" | "revoked" | null;
    /** The number of days the Client Certificate will be valid after the issued_on date */
    validityDays?: number | null;
}
export declare const PatchClientCertificateResponse: Schema.Schema<PatchClientCertificateResponse>;
export type PatchClientCertificateError = DefaultErrors;
export declare const patchClientCertificate: API.OperationMethod<PatchClientCertificateRequest, PatchClientCertificateResponse, PatchClientCertificateError, Credentials | HttpClient.HttpClient>;
export interface DeleteClientCertificateRequest {
    clientCertificateId: string;
    /** Identifier. */
    zoneId: string;
}
export declare const DeleteClientCertificateRequest: Schema.Schema<DeleteClientCertificateRequest>;
export interface DeleteClientCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** The Client Certificate PEM */
    certificate?: string | null;
    /** Certificate Authority used to issue the Client Certificate */
    certificateAuthority?: {
        id?: string | null;
        name?: string | null;
    } | null;
    /** Common Name of the Client Certificate */
    commonName?: string | null;
    /** Country, provided by the CSR */
    country?: string | null;
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr?: string | null;
    /** Date that the Client Certificate expires */
    expiresOn?: string | null;
    /** Unique identifier of the Client Certificate */
    fingerprintSha256?: string | null;
    /** Date that the Client Certificate was issued by the Certificate Authority */
    issuedOn?: string | null;
    /** Location, provided by the CSR */
    location?: string | null;
    /** Organization, provided by the CSR */
    organization?: string | null;
    /** Organizational Unit, provided by the CSR */
    organizationalUnit?: string | null;
    /** The serial number on the created Client Certificate. */
    serialNumber?: string | null;
    /** The type of hash used for the Client Certificate.. */
    signature?: string | null;
    /** Subject Key Identifier */
    ski?: string | null;
    /** State, provided by the CSR */
    state?: string | null;
    /** Client Certificates may be active or revoked, and the pending_reactivation or pending_revocation represent in-progress asynchronous transitions */
    status?: "active" | "pending_reactivation" | "pending_revocation" | "revoked" | null;
    /** The number of days the Client Certificate will be valid after the issued_on date */
    validityDays?: number | null;
}
export declare const DeleteClientCertificateResponse: Schema.Schema<DeleteClientCertificateResponse>;
export type DeleteClientCertificateError = DefaultErrors;
export declare const deleteClientCertificate: API.OperationMethod<DeleteClientCertificateRequest, DeleteClientCertificateResponse, DeleteClientCertificateError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=client-certificates.d.ts.map