import { X509Certificate } from "./X509Certificate.mjs";
import { X509CertificateRevocationList } from "./X509CertificateRevocationList.mjs";
import { X509CheckCertificateRevocationOptions, X509CreateCertificateOptions, X509CreateCertificateRevocationListOptions, X509CreateCertificateSigningRequestOptions, X509FetchCertificateRevocationListOptions, X509ParseCertificateSigningRequestOptions, X509ValidateCertificateChainOptions } from "./X509ServiceOptions.mjs";
import { CertificateSigningRequest } from "./CertificateSigningRequest.mjs";
import { X509RevocationCheckResult } from "./X509RevocationService.mjs";
import { X509ModuleConfig } from "./X509ModuleConfig.mjs";
import { AgentContext } from "../../agent/context/AgentContext.mjs";
import "../../agent/index.mjs";
//#region src/modules/x509/X509Api.d.ts
/**
 * @public
 */
export declare class X509Api {
  private agentContext;
  config: X509ModuleConfig;
  constructor(agentContext: AgentContext, config: X509ModuleConfig);
  /**
   * Creates a X.509 certificate.
   *
   * @param options X509CreateCertificateOptions
   */
  createCertificate(options: X509CreateCertificateOptions): Promise<X509Certificate>;
  /**
   * Create a certificate signing request (CSR)
   *
   * @param options X509CreateCertificateSigningRequestOptions
   */
  createCertificateSigningRequest(options: X509CreateCertificateSigningRequestOptions): Promise<CertificateSigningRequest>;
  /**
   * Creates and signs a X.509 Certificate Revocation List (CRL).
   *
   * @param options X509CreateCertificateRevocationListOptions
   */
  createCertificateRevocationList(options: X509CreateCertificateRevocationListOptions): Promise<X509CertificateRevocationList>;
  /**
   * Parses a certificate signing request (CSR)
   *
   * @param options X509ParseCertificateSigningRequestOptions
   */
  parseCertificateSigningRequest(options: X509ParseCertificateSigningRequestOptions): CertificateSigningRequest;
  /**
   * Validate a certificate chain.
   *
   * @param options X509ValidateCertificateChainOptions
   */
  validateCertificateChain(options: X509ValidateCertificateChainOptions): Promise<X509Certificate[]>;
  /**
   * Check the revocation status of a single certificate using CRL.
   *
   * @param options X509CheckCertificateRevocationOptions
   */
  checkCertificateRevocation(options: X509CheckCertificateRevocationOptions): Promise<X509RevocationCheckResult>;
  /**
   * Fetch a CRL from a URL and parse it, optionally verifying it against an issuer certificate.
   *
   * @param options X509FetchCertificateRevocationListOptions
   */
  fetchCertificateRevocationList(options: X509FetchCertificateRevocationListOptions): Promise<X509CertificateRevocationList>;
}
//#endregion
//# sourceMappingURL=X509Api.d.mts.map