/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/**
 * Operational Root and Intermediate Certificate Schema
 * @see {@link MatterSpecification.v141.Core} § 11.23.5.
 */
export interface OperationalCertificateDclSchema {
    /**
     * This field uniquely identifies a certificate and SHALL contain the body of a certificate that has been
     * added in the DCL. It SHALL be encoded in PEM format. The certificate SHALL respect the format
     * constraints provided for that certificate type.
     */
    pemCert: string;
    /**
     * The field SHALL be used to identify the serial number field in the Matter certificate structure. A
     * Matter certificate follows the same limitation on admissible serial numbers as in [RFC 5280], i.e.,
     * that implementations SHALL admit serial numbers up to 20 octets in length, and certificate authorities
     * SHALL NOT use serial numbers longer than 20 octets in length.
     */
    serialNumber: string;
    /**
     * The field SHALL be used to identify the Certificate Authority that issues the certificate. For a
     * Operational Root CA Certificates (RCAC), this field is OPTIONAL because Issuer and
     * Subject are the same.
     */
    issuer?: string;
    /**
     * The authority key identifier extension provides a means of identifying the public key corresponding
     * to the private key used to sign a Matter certificate. This is OPTIONAL for Operational Root CA
     * Certificates (RCAC).
     */
    authorityKeyId?: string;
    /**
     * This field SHALL contain the PAA certificate’s Subject field, as defined Operational Root CA Certificates
     * (RCAC). This is OPTIONAL for Operational Root CA Certificates (RCAC). This is encoded as
     * defined in Section 6.1, “Certificate Common Conventions”.
     */
    rootSubject?: string;
    /**
     * This field SHALL uniquely identify the PAA certificate’s Subject Key Identifier mandatory extension.
     * It is defined in PAA Certificate and Operational Root CA Certificates (RCAC). This is OPTIONAL
     * for Operational Root CA Certificates (RCAC). This is encoded as defined in Section 6.1, “Certificate
     * Common Conventions”.
     */
    rootSubjectKeyId?: string;
    /**
     * This field SHALL signify whether the associated certificates is a Operational Root CA Certificate
     * (RCAC).
     */
    isRoot: boolean;
    /**
     * This field SHALL indicate whether the associated certificate is a Vendor Verification Signer Certificate
     * (VVSC) used to sign vid_verification_statement messages as defined in Section 6.4.10, “Fabric
     * Table Vendor ID Verification Procedure”.
     */
    isVidVerificationSigner: boolean;
    /**
     * This field uniquely identifies the DCL key that was used to register the certificate in DCL, pursuant
     * to DCL policies.
     */
    owner: string;
    /**
     * This field SHALL contain the certificate’s Subject field. This is encoded as defined in Section 6.1,
     * “Certificate Common Conventions”.
     */
    subject: string;
    /**
     * This field SHALL uniquely identify the PAA certificate’s Subject Key Identifier mandatory extension.
     * This is encoded as defined in Section 6.1.2, “Key Identifier Extension Constraints”.
     */
    subjectKeyId: string;
    /**
     * This field SHALL contain the Vendor ID of the vendor that issued the certificate.
     */
    vid: number;
    /**
     * The SchemaVersion field value history for this schema is provided below:
     * * 0 Initial Release
     * * 1 Introduction of IsVidVerificationSigner
     */
    schemaVersion: number;
}
//# sourceMappingURL=operational-certificate.d.ts.map