/**
 * 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 (e.g., \ .example.com) bound to the certificate. */
    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";
    /** The number of days for which the certificate should be valid. */
    requestedValidity: "7" | "30" | "90" | "365" | "730" | "1095" | "5475";
    /** 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";
        requestedValidity: "7" | "30" | "90" | "365" | "730" | "1095" | "5475";
        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 (e.g., \ .example.com) bound to the certificate. */
    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";
    /** The number of days for which the certificate should be valid. */
    requestedValidity?: "7" | "30" | "90" | "365" | "730" | "1095" | "5475";
}
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 (e.g., \ .example.com) bound to the certificate. */
    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";
    /** The number of days for which the certificate should be valid. */
    requestedValidity: "7" | "30" | "90" | "365" | "730" | "1095" | "5475";
    /** 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