import { X509CreateCertificateOptions, X509CreateCertificateSigningRequestOptions, X509ParseCertificateSigningRequestOptions, X509ValidateCertificateChainOptions } from "./X509ServiceOptions.mjs";
import { X509Certificate } from "./X509Certificate.mjs";
import { CertificateSigningRequest } from "./CertificateSigningRequest.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
 */
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>;
  createCertificateSigningRequest(options: X509CreateCertificateSigningRequestOptions): Promise<CertificateSigningRequest>;
  parseCertificateSigningRequest(options: X509ParseCertificateSigningRequestOptions): CertificateSigningRequest;
  /**
   * Validate a certificate chain.
   *
   * @param options X509ValidateCertificateChainOptions
   */
  validateCertificateChain(options: X509ValidateCertificateChainOptions): Promise<X509Certificate[]>;
}
//#endregion
export { X509Api };
//# sourceMappingURL=X509Api.d.mts.map