import type { Bundle as ProtoBundle, InclusionProof as ProtoInclusionProof, MessageSignature as ProtoMessageSignature, TransparencyLogEntry as ProtoTransparencyLogEntry, VerificationMaterial as ProtoVerificationMaterial } from '@sigstore/protobuf-specs'; import type { WithRequired } from './utility'; export declare const BUNDLE_V01_MEDIA_TYPE = "application/vnd.dev.sigstore.bundle+json;version=0.1"; export declare const BUNDLE_V02_MEDIA_TYPE = "application/vnd.dev.sigstore.bundle+json;version=0.2"; type DsseEnvelopeContent = Extract; type MessageSignatureContent = Extract; export type MessageSignature = WithRequired; export type VerificationMaterial = WithRequired; export type TransparencyLogEntry = WithRequired; export type InclusionProof = WithRequired; export type TLogEntryWithInclusionPromise = WithRequired; export type TLogEntryWithInclusionProof = TransparencyLogEntry & { inclusionProof: InclusionProof; }; export type Bundle = ProtoBundle & { verificationMaterial: VerificationMaterial & { tlogEntries: TransparencyLogEntry[]; }; content: (MessageSignatureContent & { messageSignature: MessageSignature; }) | DsseEnvelopeContent; }; export type BundleV01 = Bundle & { verificationMaterial: Bundle['verificationMaterial'] & { tlogEntries: TLogEntryWithInclusionPromise[]; }; }; export type BundleLatest = Bundle & { verificationMaterial: Bundle['verificationMaterial'] & { tlogEntries: TLogEntryWithInclusionProof[]; }; }; export type BundleWithCertificateChain = Bundle & { verificationMaterial: Bundle['verificationMaterial'] & { content: Extract; }; }; export type BundleWithPublicKey = Bundle & { verificationMaterial: Bundle['verificationMaterial'] & { content: Extract; }; }; export type BundleWithMessageSignature = Bundle & { content: Extract; }; export type BundleWithDsseEnvelope = Bundle & { content: Extract; }; export declare function isBundleWithCertificateChain(b: Bundle): b is BundleWithCertificateChain; export declare function isBundleWithPublicKey(b: Bundle): b is BundleWithPublicKey; export declare function isBundleWithMessageSignature(b: Bundle): b is BundleWithMessageSignature; export declare function isBundleWithDsseEnvelope(b: Bundle): b is BundleWithDsseEnvelope; export {};