export type AIInferenceResult = { aiGenerated: boolean; aiProbability: number; humanProbability: number; } export const C2PASourceTypeScreenCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/screenCapture"; export const C2PASourceTypeDigitalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture"; export const C2PASourceTypeComputationalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/computationalCapture"; export const C2PASourceTypeCompositeCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeCapture"; export const C2PASourceTypeTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"; export const C2PASourceTypeCompositeWithTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia"; export type C2PAActionsAssertion = { actions: { action: string; softwareAgent?: string; digitalSourceType?: string; }[]; } export type C2PAAssertion = { label: string; data: C2PAActionsAssertion | undefined; } export type C2PAManifest = { assertions: C2PAAssertion[]; signature_info: { time: string; } } export type C2PAValidationResults = { activeManifest?: { failure: any[]; success: any[]; informational: any[]; } } export type C2PAManifestInfo = { active_manifest: string; manifests: {[key: string]: C2PAManifest}; validation_results?: C2PAValidationResults; } export type C2PAData = { manifest_info: C2PAManifestInfo; } export type Proof = { data?: any; name?: string; json?: string; integrity?: { pgp?: any; c2pa?: any; exif?: {[key: string]: string | Object}; opentimestamps?: any }; ai?: { inferenceResult?: AIInferenceResult}; }