/**
 * Cloudflare ORIGIN-CA-CERTIFICATES API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service origin-ca-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 GetOriginCaCertificateRequest {
    certificateId: string;
}
export declare const GetOriginCaCertificateRequest: Schema.Schema<GetOriginCaCertificateRequest>;
export interface GetOriginCaCertificateResponse {
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr: string;
    /** Array of hostnames or wildcard names bound to the certificate. Hostnames must be fully qualified domain names (FQDNs) belonging to zones on your account (e.g., `example.com` or `sub.example.com`). Wil */
    hostnames: string[];
    /** Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers). */
    requestType: "origin-rsa" | "origin-ecc" | "keyless-certificate" | (string & {});
    /** The number of days for which the certificate should be valid. */
    requestedValidity: "7" | "30" | "90" | "365" | "730" | "1095" | "5475" | (string & {});
    /** Identifier. */
    id?: string | null;
    /** The Origin CA certificate. Will be newline-encoded. */
    certificate?: string | null;
    /** When the certificate will expire. */
    expiresOn?: string | null;
}
export declare const GetOriginCaCertificateResponse: Schema.Schema<GetOriginCaCertificateResponse>;
export type GetOriginCaCertificateError = DefaultErrors;
export declare const getOriginCaCertificate: API.OperationMethod<GetOriginCaCertificateRequest, GetOriginCaCertificateResponse, GetOriginCaCertificateError, Credentials | HttpClient.HttpClient>;
export interface ListOriginCaCertificatesRequest {
    page?: number;
    perPage?: number;
    /** Identifier. */
    zoneId: string;
    /** Limit to the number of records returned. */
    limit?: number;
    /** Offset the results */
    offset?: number;
}
export declare const ListOriginCaCertificatesRequest: Schema.Schema<ListOriginCaCertificatesRequest>;
export interface ListOriginCaCertificatesResponse {
    result: {
        csr: string;
        hostnames: string[];
        requestType: "origin-rsa" | "origin-ecc" | "keyless-certificate" | (string & {});
        requestedValidity: "7" | "30" | "90" | "365" | "730" | "1095" | "5475" | (string & {});
        id?: string | null;
        certificate?: string | null;
        expiresOn?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListOriginCaCertificatesResponse: Schema.Schema<ListOriginCaCertificatesResponse>;
export type ListOriginCaCertificatesError = DefaultErrors;
export declare const listOriginCaCertificates: API.PaginatedOperationMethod<ListOriginCaCertificatesRequest, ListOriginCaCertificatesResponse, ListOriginCaCertificatesError, Credentials | HttpClient.HttpClient>;
export interface CreateOriginCaCertificateRequest {
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr: string;
    /** Array of hostnames or wildcard names bound to the certificate. Hostnames must be fully qualified domain names (FQDNs) belonging to zones on your account (e.g., `example.com` or `sub.example.com`). Wil */
    hostnames: string[];
    /** Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers). */
    requestType: "origin-rsa" | "origin-ecc" | "keyless-certificate" | (string & {});
    /** The number of days for which the certificate should be valid. */
    requestedValidity?: "7" | "30" | "90" | "365" | "730" | "1095" | "5475" | (string & {});
}
export declare const CreateOriginCaCertificateRequest: Schema.Schema<CreateOriginCaCertificateRequest>;
export interface CreateOriginCaCertificateResponse {
    /** The Certificate Signing Request (CSR). Must be newline-encoded. */
    csr: string;
    /** Array of hostnames or wildcard names bound to the certificate. Hostnames must be fully qualified domain names (FQDNs) belonging to zones on your account (e.g., `example.com` or `sub.example.com`). Wil */
    hostnames: string[];
    /** Signature type desired on certificate ("origin-rsa" (rsa), "origin-ecc" (ecdsa), or "keyless-certificate" (for Keyless SSL servers). */
    requestType: "origin-rsa" | "origin-ecc" | "keyless-certificate" | (string & {});
    /** The number of days for which the certificate should be valid. */
    requestedValidity: "7" | "30" | "90" | "365" | "730" | "1095" | "5475" | (string & {});
    /** Identifier. */
    id?: string | null;
    /** The Origin CA certificate. Will be newline-encoded. */
    certificate?: string | null;
    /** When the certificate will expire. */
    expiresOn?: string | null;
}
export declare const CreateOriginCaCertificateResponse: Schema.Schema<CreateOriginCaCertificateResponse>;
export type CreateOriginCaCertificateError = DefaultErrors;
export declare const createOriginCaCertificate: API.OperationMethod<CreateOriginCaCertificateRequest, CreateOriginCaCertificateResponse, CreateOriginCaCertificateError, Credentials | HttpClient.HttpClient>;
export interface DeleteOriginCaCertificateRequest {
    certificateId: string;
}
export declare const DeleteOriginCaCertificateRequest: Schema.Schema<DeleteOriginCaCertificateRequest>;
export interface DeleteOriginCaCertificateResponse {
    /** Identifier. */
    id?: string | null;
    /** When the certificate was revoked. */
    revokedAt?: string | null;
}
export declare const DeleteOriginCaCertificateResponse: Schema.Schema<DeleteOriginCaCertificateResponse>;
export type DeleteOriginCaCertificateError = DefaultErrors;
export declare const deleteOriginCaCertificate: API.OperationMethod<DeleteOriginCaCertificateRequest, DeleteOriginCaCertificateResponse, DeleteOriginCaCertificateError, Credentials | HttpClient.HttpClient>;
//# sourceMappingURL=origin-ca-certificates.d.ts.map