/// <reference types="node" />
import { DcapQuoteVerificationStatus } from "./consts";
export declare class DcapQuoteVerifyService {
    private readonly quoteVerifier;
    constructor();
    static checkErrorOrThrow(result: DcapQuoteVerificationStatus): void;
    extractQuoteFromCert(pemOrDerCert: Buffer): Promise<Buffer>;
    validateQuoteVerifierEnclave(quote: Buffer): Promise<void>;
    validateQuote({ quote, pemPckCertificate, pemIntermediateCrl, tcbInfoJson, qeIdentityJson, }: {
        quote: Buffer;
        pemPckCertificate: string;
        pemIntermediateCrl: string;
        tcbInfoJson: string;
        qeIdentityJson: string;
    }): Promise<void>;
    validateEnclaveReport({ enclaveReport, enclaveIdentity, }: {
        enclaveReport: Buffer;
        enclaveIdentity: string;
    }): Promise<void>;
    libraryEnclaveGetVersion(): string;
    libraryVersion(): string;
    getQeCertificationData({ quote }: {
        quote: Buffer;
    }): Promise<{
        pemCertChain?: string;
        qeCertType?: number;
    }>;
    validatePckCertificate({ pemCertChain, pemRootCaCrl, pemIntermediateCaCrl, pemRootCaCertificate, expirationCheckDate, }: {
        pemCertChain: string;
        pemRootCaCrl: string;
        pemIntermediateCaCrl: string;
        pemRootCaCertificate: string;
        expirationCheckDate: number;
    }): Promise<void>;
    validateTcbInfo({ tcbInfoJson, pemCertChain, pemRootCaCrl, pemRootCaCertificate, expirationCheckDate, }: {
        tcbInfoJson: string;
        pemCertChain: string;
        pemRootCaCrl: string;
        pemRootCaCertificate: string;
        expirationCheckDate: number;
    }): Promise<void>;
    validateEnclaveIdentity({ enclaveIdentityJson, pemCertChain, pemRootCaCrl, pemRootCaCertificate, expirationCheckDate, }: {
        enclaveIdentityJson: string;
        pemCertChain: string;
        pemRootCaCrl: string;
        pemRootCaCertificate: string;
        expirationCheckDate: number;
    }): Promise<void>;
    validatePckRevocationList({ pemCrl, pemCaCertChain, pemTrustedRootCaCert, }: {
        pemCrl: string;
        pemCaCertChain: string;
        pemTrustedRootCaCert: string;
    }): Promise<void>;
}
