@trylimbo/sdk-verifier 0.2.10 → 0.2.11-canary.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -181,7 +181,7 @@ declare const pointerLiteralSymbol: unique symbol;
181
181
  */
182
182
  declare const uniffiTypeNameSymbol: unique symbol;
183
183
  declare namespace trylimbo_verifier_d_exports {
184
- export { Actor, AssertionMetadata, AssetType, AssetVerification, AssetVerifier, AssetVerifierInterface, AssetVerifierLike, AssetVerifierOptions, Binder, BinderInterface, BinderLike, ClaimGeneratorInfo, Code, ContentBindingClass, ContentBindingEvidence, Coordinate, CredentialOrigin, CredentialOrigin_Tags, DataSource, DeriveOptions, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, FoundCredential, Frame, GoldenComparison, GoldenComparison_Tags, HashedUri, Ingredient, IngredientDeltaValidationResult, InitValidation, Item, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginRead, PluginRegistry, PluginRegistryInterface, PluginRegistryLike, Range, RangeSource, RangeSourceImpl, RangeType, RecoveryIssue, RecoveryIssueKind, RecoveryPolicy, RecoveryStatus, RecoverySummary, Region, RegionOfInterest, RegistryOptions, RegistryQueries, Relationship, ResourceRef, ReviewRating, Role, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKeySummary, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBinding, StatusCodes, StreamValidation, StreamValidationInterface, StreamValidationLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Value, VerifyOptions, c2paTrustList, c2paTsaTrustList, _default$1 as default, devCa, parse, resource, thumbnails };
184
+ export { Actor, AssertionMetadata, AssetType, AssetVerification, AssetVerifier, AssetVerifierInterface, AssetVerifierLike, AssetVerifierOptions, Binder, BinderInterface, BinderLike, BinderPlugin, ClaimGeneratorInfo, Code, ContentAlgorithm, ContentAlgorithm_Tags, ContentBindingClass, Coordinate, CredentialOrigin, CredentialOrigin_Tags, DataSource, DeriveOptions, EndInclusivity, FieldViolation, FileSource, FileSourceInterface, FileSourceLike, FingerprintCheck, FingerprintCheck_Tags, FoundCredential, Frame, GoldenComparison, GoldenComparison_Tags, HardBinding, HashedUri, Ingredient, IngredientDeltaValidationResult, InitValidation, Item, Manifest, ManifestAssertion, ManifestAssertionKind, ManifestStore, MediaValidation, MemorySource, MemorySourceInterface, MemorySourceLike, PluginRead, PluginRegistry, PluginRegistryInterface, PluginRegistryLike, Range, RangeSource, RangeSourceImpl, RangeType, RecoveryCompletion, RecoveryDiscovery, RecoveryDiscovery_Tags, RecoveryExecution, RecoveryIssue, RecoveryIssueKind, RecoveryPlan, RecoveryPlan_Tags, RecoveryPolicy, RecoveryQuery, RecoveryQuery_Tags, RecoveryStage, RecoveryStatus, RecoverySummary, Region, RegionOfInterest, RegistryOptions, Relationship, ResourceRef, ReviewRating, Role, SdkError, SdkError_Tags, SegmentTiming, SegmentValidation, SegmentValidation_Tags, SessionKeySummary, Shape, ShapeType, SignatureInfo, SigningAlgSchema, SimilarityScore, SoftBinding, StatusCodes, StreamValidation, StreamValidationInterface, StreamValidationLike, StreamVerifier, StreamVerifierInterface, StreamVerifierLike, StreamVerifierOptions, Text, TextSelector, TextSelectorRange, Time, TimeType, UnitType, UriOrResource, UriOrResource_Tags, ValidationCode, ValidationCodeKind, ValidationResults, ValidationState, ValidationStatus, Value, VerifyOptions, c2paTrustList, c2paTsaTrustList, _default$1 as default, devCa, parse, resource, thumbnails };
185
185
  }
186
186
  /**
187
187
  * Official C2PA Conformance Program signing-CA trust anchors (a compile-time
@@ -805,16 +805,11 @@ export declare const SoftBinding: Readonly<{
805
805
  new: (partial: Partial<SoftBinding> & Required<Omit<SoftBinding, never>>) => SoftBinding;
806
806
  defaults: () => Partial<SoftBinding>;
807
807
  }>;
808
- /**
809
- * Typealias from the type name used in the UDL file to the builtin type. This
810
- * is needed because the UDL type name is used in function/method signatures.
811
- */
812
- export type SimilarityScore = number;
813
808
  /**
814
809
  * The class of binding a registry derived from an uploaded asset.
815
810
  *
816
811
  * Unlike [`SoftBinding`], this carries no value: the C2PA `byContent` response does not return
817
- * one. The algorithm and class are still evidence because the request selects exactly that
812
+ * one. The algorithm and class are still evidence because every request selects exactly one
818
813
  * advertised algorithm.
819
814
  */
820
815
  export declare enum ContentBindingClass {
@@ -822,88 +817,52 @@ export declare enum ContentBindingClass {
822
817
  Watermark = 1
823
818
  }
824
819
  /**
825
- * One algorithm-specific piece of evidence returned by a content lookup.
826
- */
827
- export type ContentBindingEvidence = {
828
- algorithm: string;
829
- class: ContentBindingClass;
830
- hint?: SoftBinding;
831
- registryScore?: SimilarityScore;
832
- };
833
- /**
834
- * Generated factory for {@link ContentBindingEvidence} record objects.
820
+ * Typealias from the type name used in the UDL file to the builtin type. This
821
+ * is needed because the UDL type name is used in function/method signatures.
835
822
  */
836
- export declare const ContentBindingEvidence: Readonly<{
837
- create: (partial: Partial<ContentBindingEvidence> & Required<Omit<ContentBindingEvidence, "hint" | "registryScore">>) => ContentBindingEvidence;
838
- new: (partial: Partial<ContentBindingEvidence> & Required<Omit<ContentBindingEvidence, "hint" | "registryScore">>) => ContentBindingEvidence;
839
- defaults: () => Partial<ContentBindingEvidence>;
840
- }>;
841
- export declare enum CredentialOrigin_Tags {
842
- Embedded = "Embedded",
843
- RecoveredByFingerprint = "RecoveredByFingerprint",
844
- RecoveredByWatermark = "RecoveredByWatermark",
845
- RecoveredByContent = "RecoveredByContent"
823
+ export type SimilarityScore = number;
824
+ export declare enum RecoveryDiscovery_Tags {
825
+ ByBinding = "ByBinding",
826
+ ByContent = "ByContent"
846
827
  }
847
- /**
848
- * FFI projection of the domain origin. The soft-binding DTO remains public and wire-shaped,
849
- * while the domain value keeps its constructor invariant private.
850
- */
851
- export declare const CredentialOrigin: Readonly<{
852
- instanceOf: (obj: any) => obj is CredentialOrigin;
853
- Embedded: {
854
- new (): {
855
- /**
856
- * @private
857
- * This field is private and should not be used, use `tag` instead.
858
- */
859
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
860
- readonly tag: CredentialOrigin_Tags.Embedded;
861
- };
862
- "new"(): {
863
- /**
864
- * @private
865
- * This field is private and should not be used, use `tag` instead.
866
- */
867
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
868
- readonly tag: CredentialOrigin_Tags.Embedded;
869
- };
870
- instanceOf(obj: any): obj is {
871
- /**
872
- * @private
873
- * This field is private and should not be used, use `tag` instead.
874
- */
875
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
876
- readonly tag: CredentialOrigin_Tags.Embedded;
877
- };
878
- };
879
- RecoveredByFingerprint: {
828
+ export declare const RecoveryDiscovery: Readonly<{
829
+ instanceOf: (obj: any) => obj is RecoveryDiscovery;
830
+ ByBinding: {
880
831
  new (inner: {
832
+ binderIndex: number;
881
833
  binding: SoftBinding;
834
+ class: ContentBindingClass;
882
835
  registryScore?: SimilarityScore;
883
836
  }): {
884
837
  /**
885
838
  * @private
886
839
  * This field is private and should not be used, use `tag` instead.
887
840
  */
888
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
889
- readonly tag: CredentialOrigin_Tags.RecoveredByFingerprint;
841
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
842
+ readonly tag: RecoveryDiscovery_Tags.ByBinding;
890
843
  readonly inner: Readonly<{
844
+ binderIndex: number;
891
845
  binding: SoftBinding;
846
+ class: ContentBindingClass;
892
847
  registryScore?: SimilarityScore;
893
848
  }>;
894
849
  };
895
850
  "new"(inner: {
851
+ binderIndex: number;
896
852
  binding: SoftBinding;
853
+ class: ContentBindingClass;
897
854
  registryScore?: SimilarityScore;
898
855
  }): {
899
856
  /**
900
857
  * @private
901
858
  * This field is private and should not be used, use `tag` instead.
902
859
  */
903
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
904
- readonly tag: CredentialOrigin_Tags.RecoveredByFingerprint;
860
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
861
+ readonly tag: RecoveryDiscovery_Tags.ByBinding;
905
862
  readonly inner: Readonly<{
863
+ binderIndex: number;
906
864
  binding: SoftBinding;
865
+ class: ContentBindingClass;
907
866
  registryScore?: SimilarityScore;
908
867
  }>;
909
868
  };
@@ -912,42 +871,52 @@ export declare const CredentialOrigin: Readonly<{
912
871
  * @private
913
872
  * This field is private and should not be used, use `tag` instead.
914
873
  */
915
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
916
- readonly tag: CredentialOrigin_Tags.RecoveredByFingerprint;
874
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
875
+ readonly tag: RecoveryDiscovery_Tags.ByBinding;
917
876
  readonly inner: Readonly<{
877
+ binderIndex: number;
918
878
  binding: SoftBinding;
879
+ class: ContentBindingClass;
919
880
  registryScore?: SimilarityScore;
920
881
  }>;
921
882
  };
922
883
  };
923
- RecoveredByWatermark: {
884
+ ByContent: {
924
885
  new (inner: {
925
- binding: SoftBinding;
886
+ algorithm: string;
887
+ class: ContentBindingClass;
888
+ hint?: SoftBinding;
926
889
  registryScore?: SimilarityScore;
927
890
  }): {
928
891
  /**
929
892
  * @private
930
893
  * This field is private and should not be used, use `tag` instead.
931
894
  */
932
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
933
- readonly tag: CredentialOrigin_Tags.RecoveredByWatermark;
895
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
896
+ readonly tag: RecoveryDiscovery_Tags.ByContent;
934
897
  readonly inner: Readonly<{
935
- binding: SoftBinding;
898
+ algorithm: string;
899
+ class: ContentBindingClass;
900
+ hint?: SoftBinding;
936
901
  registryScore?: SimilarityScore;
937
902
  }>;
938
903
  };
939
904
  "new"(inner: {
940
- binding: SoftBinding;
905
+ algorithm: string;
906
+ class: ContentBindingClass;
907
+ hint?: SoftBinding;
941
908
  registryScore?: SimilarityScore;
942
909
  }): {
943
910
  /**
944
911
  * @private
945
912
  * This field is private and should not be used, use `tag` instead.
946
913
  */
947
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
948
- readonly tag: CredentialOrigin_Tags.RecoveredByWatermark;
914
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
915
+ readonly tag: RecoveryDiscovery_Tags.ByContent;
949
916
  readonly inner: Readonly<{
950
- binding: SoftBinding;
917
+ algorithm: string;
918
+ class: ContentBindingClass;
919
+ hint?: SoftBinding;
951
920
  registryScore?: SimilarityScore;
952
921
  }>;
953
922
  };
@@ -956,39 +925,79 @@ export declare const CredentialOrigin: Readonly<{
956
925
  * @private
957
926
  * This field is private and should not be used, use `tag` instead.
958
927
  */
959
- readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
960
- readonly tag: CredentialOrigin_Tags.RecoveredByWatermark;
928
+ readonly [uniffiTypeNameSymbol]: "RecoveryDiscovery";
929
+ readonly tag: RecoveryDiscovery_Tags.ByContent;
961
930
  readonly inner: Readonly<{
962
- binding: SoftBinding;
931
+ algorithm: string;
932
+ class: ContentBindingClass;
933
+ hint?: SoftBinding;
963
934
  registryScore?: SimilarityScore;
964
935
  }>;
965
936
  };
966
937
  };
967
- RecoveredByContent: {
938
+ }>;
939
+ export type RecoveryDiscovery = InstanceType<typeof RecoveryDiscovery['ByBinding' | 'ByContent']>;
940
+ export declare enum CredentialOrigin_Tags {
941
+ Embedded = "Embedded",
942
+ Recovered = "Recovered"
943
+ }
944
+ /**
945
+ * FFI projection of the domain origin. The soft-binding DTO remains public and wire-shaped,
946
+ * while the domain value keeps its constructor invariant private.
947
+ */
948
+ export declare const CredentialOrigin: Readonly<{
949
+ instanceOf: (obj: any) => obj is CredentialOrigin;
950
+ Embedded: {
951
+ new (): {
952
+ /**
953
+ * @private
954
+ * This field is private and should not be used, use `tag` instead.
955
+ */
956
+ readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
957
+ readonly tag: CredentialOrigin_Tags.Embedded;
958
+ };
959
+ "new"(): {
960
+ /**
961
+ * @private
962
+ * This field is private and should not be used, use `tag` instead.
963
+ */
964
+ readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
965
+ readonly tag: CredentialOrigin_Tags.Embedded;
966
+ };
967
+ instanceOf(obj: any): obj is {
968
+ /**
969
+ * @private
970
+ * This field is private and should not be used, use `tag` instead.
971
+ */
972
+ readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
973
+ readonly tag: CredentialOrigin_Tags.Embedded;
974
+ };
975
+ };
976
+ Recovered: {
968
977
  new (inner: {
969
- discoveries: Array<ContentBindingEvidence>;
978
+ discoveries: Array<RecoveryDiscovery>;
970
979
  }): {
971
980
  /**
972
981
  * @private
973
982
  * This field is private and should not be used, use `tag` instead.
974
983
  */
975
984
  readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
976
- readonly tag: CredentialOrigin_Tags.RecoveredByContent;
985
+ readonly tag: CredentialOrigin_Tags.Recovered;
977
986
  readonly inner: Readonly<{
978
- discoveries: Array<ContentBindingEvidence>;
987
+ discoveries: Array<RecoveryDiscovery>;
979
988
  }>;
980
989
  };
981
990
  "new"(inner: {
982
- discoveries: Array<ContentBindingEvidence>;
991
+ discoveries: Array<RecoveryDiscovery>;
983
992
  }): {
984
993
  /**
985
994
  * @private
986
995
  * This field is private and should not be used, use `tag` instead.
987
996
  */
988
997
  readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
989
- readonly tag: CredentialOrigin_Tags.RecoveredByContent;
998
+ readonly tag: CredentialOrigin_Tags.Recovered;
990
999
  readonly inner: Readonly<{
991
- discoveries: Array<ContentBindingEvidence>;
1000
+ discoveries: Array<RecoveryDiscovery>;
992
1001
  }>;
993
1002
  };
994
1003
  instanceOf(obj: any): obj is {
@@ -997,9 +1006,9 @@ export declare const CredentialOrigin: Readonly<{
997
1006
  * This field is private and should not be used, use `tag` instead.
998
1007
  */
999
1008
  readonly [uniffiTypeNameSymbol]: "CredentialOrigin";
1000
- readonly tag: CredentialOrigin_Tags.RecoveredByContent;
1009
+ readonly tag: CredentialOrigin_Tags.Recovered;
1001
1010
  readonly inner: Readonly<{
1002
- discoveries: Array<ContentBindingEvidence>;
1011
+ discoveries: Array<RecoveryDiscovery>;
1003
1012
  }>;
1004
1013
  };
1005
1014
  };
@@ -1008,7 +1017,7 @@ export declare const CredentialOrigin: Readonly<{
1008
1017
  * FFI projection of the domain origin. The soft-binding DTO remains public and wire-shaped,
1009
1018
  * while the domain value keeps its constructor invariant private.
1010
1019
  */
1011
- export type CredentialOrigin = InstanceType<typeof CredentialOrigin['Embedded' | 'RecoveredByFingerprint' | 'RecoveredByWatermark' | 'RecoveredByContent']>;
1020
+ export type CredentialOrigin = InstanceType<typeof CredentialOrigin['Embedded' | 'Recovered']>;
1012
1021
  /**
1013
1022
  * Assertions in C2PA can be stored in several formats
1014
1023
  */
@@ -1812,9 +1821,29 @@ export declare const FingerprintCheck: Readonly<{
1812
1821
  */
1813
1822
  export type FingerprintCheck = InstanceType<typeof FingerprintCheck['NotNeeded' | 'NothingToCompare' | 'Unsupported' | 'Indeterminate' | 'Compared']>;
1814
1823
  /**
1815
- * One `verify` result: the c2pa manifest store, plus where it came from: see [`asset::CredentialOrigin`],
1816
- * whose recovered variants carry the same `SoftBinding` record `Binder.derive` returns, so a
1817
- * derived binding and a recovering one are one type.
1824
+ * Whether the manifest's hard binding holds over the bytes this verify read.
1825
+ *
1826
+ * c2pa folds a hash mismatch into `validation_state == Invalid` with every other failure. A
1827
+ * manifest recovered through a soft binding is validated against a transcode or a later edit,
1828
+ * so a mismatch is the one failure it is expected to carry; naming it lets a caller tell "for
1829
+ * other bytes" from "broken" without reading status codes.
1830
+ */
1831
+ export declare enum HardBinding {
1832
+ /**
1833
+ * No data, box, BMFF or collection hash failed against these bytes.
1834
+ */
1835
+ Holds = 0,
1836
+ /**
1837
+ * A hash mismatch is among the active manifest's failures: the manifest describes other
1838
+ * bytes. Whether it is otherwise authentic is its remaining statuses.
1839
+ */
1840
+ Mismatch = 1
1841
+ }
1842
+ /**
1843
+ * One `verify` result: the c2pa manifest store, where it came from, whether the asset's own
1844
+ * fingerprint backs it up, and whether its hard binding holds over the bytes read. The recovered
1845
+ * origin carries the same `SoftBinding` record `Binder.derive` returns, so a derived binding and
1846
+ * a recovering one are one type.
1818
1847
  */
1819
1848
  export type FoundCredential = {
1820
1849
  /**
@@ -1836,6 +1865,10 @@ export type FoundCredential = {
1836
1865
  * Whether the asset's own fingerprint backs up a mark that led here (C2PA 2.4 1.2.2.3).
1837
1866
  */
1838
1867
  fingerprintCheck: FingerprintCheck;
1868
+ /**
1869
+ * Whether the manifest's hard binding holds over the bytes this verify read.
1870
+ */
1871
+ hardBinding: HardBinding;
1839
1872
  };
1840
1873
  /**
1841
1874
  * Generated factory for {@link FoundCredential} record objects.
@@ -2171,32 +2204,7 @@ export declare enum RecoveryPolicy {
2171
2204
  Always = 1
2172
2205
  }
2173
2206
  /**
2174
- * How far a recovery may go, which decides what leaves the caller.
2175
- *
2176
- * Separate from [`RecoveryPolicy`], which decides *when* a recovery runs: one names the trigger
2177
- * and the other the reach, and crossing them is what the two enums exist to keep legible.
2178
- */
2179
- export declare enum RegistryQueries {
2180
- /**
2181
- * Bindings this client derived, looked up by value. The asset never leaves the caller, which
2182
- * is what a verifier embedded in someone else's page needs: it can ask whether a code it
2183
- * computed is known without handing over what it computed the code from.
2184
- *
2185
- * A binding nobody local can derive is therefore unreachable, watermarks included, because
2186
- * detecting those is the registry's job and needs the asset.
2187
- */
2188
- Derived = 0,
2189
- /**
2190
- * Also `POST /matches/byContent` when no derived binding hits, which uploads the asset so the
2191
- * registry can derive the bindings its own deployment supports, detector-backed watermarks
2192
- * among them. The upload happens only on that miss, and only for an asset small enough to
2193
- * send.
2194
- */
2195
- DerivedThenContent = 1
2196
- }
2197
- /**
2198
- * Where the registry is, when to query it, and how far. One value rather than an endpoint beside
2199
- * loose flags, so a policy cannot be configured on a verifier that has nowhere to apply it.
2207
+ * Where the registry is and when to query it. Query reach and scheduling are selected per verify.
2200
2208
  */
2201
2209
  export type RegistryOptions = {
2202
2210
  /**
@@ -2207,17 +2215,13 @@ export type RegistryOptions = {
2207
2215
  * Defaults to [`RecoveryPolicy::WhenMissing`].
2208
2216
  */
2209
2217
  recovery?: RecoveryPolicy;
2210
- /**
2211
- * Defaults to [`RegistryQueries::DerivedThenContent`].
2212
- */
2213
- queries?: RegistryQueries;
2214
2218
  };
2215
2219
  /**
2216
2220
  * Generated factory for {@link RegistryOptions} record objects.
2217
2221
  */
2218
2222
  export declare const RegistryOptions: Readonly<{
2219
- create: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "queries" | "recovery">>) => RegistryOptions;
2220
- new: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "queries" | "recovery">>) => RegistryOptions;
2223
+ create: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "recovery">>) => RegistryOptions;
2224
+ new: (partial: Partial<RegistryOptions> & Required<Omit<RegistryOptions, "recovery">>) => RegistryOptions;
2221
2225
  defaults: () => Partial<RegistryOptions>;
2222
2226
  }>;
2223
2227
  /**
@@ -2413,6 +2417,293 @@ export declare const MediaValidation: Readonly<{
2413
2417
  new: (partial: Partial<MediaValidation> & Required<Omit<MediaValidation, never>>) => MediaValidation;
2414
2418
  defaults: () => Partial<MediaValidation>;
2415
2419
  }>;
2420
+ export declare enum ContentAlgorithm_Tags {
2421
+ Fingerprint = "Fingerprint",
2422
+ Watermark = "Watermark",
2423
+ All = "All",
2424
+ Named = "Named"
2425
+ }
2426
+ /**
2427
+ * How a `byContent` query selects the registry's detector algorithms.
2428
+ */
2429
+ export declare const ContentAlgorithm: Readonly<{
2430
+ instanceOf: (obj: any) => obj is ContentAlgorithm;
2431
+ Fingerprint: {
2432
+ new (): {
2433
+ /**
2434
+ * @private
2435
+ * This field is private and should not be used, use `tag` instead.
2436
+ */
2437
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2438
+ readonly tag: ContentAlgorithm_Tags.Fingerprint;
2439
+ };
2440
+ "new"(): {
2441
+ /**
2442
+ * @private
2443
+ * This field is private and should not be used, use `tag` instead.
2444
+ */
2445
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2446
+ readonly tag: ContentAlgorithm_Tags.Fingerprint;
2447
+ };
2448
+ instanceOf(obj: any): obj is {
2449
+ /**
2450
+ * @private
2451
+ * This field is private and should not be used, use `tag` instead.
2452
+ */
2453
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2454
+ readonly tag: ContentAlgorithm_Tags.Fingerprint;
2455
+ };
2456
+ };
2457
+ Watermark: {
2458
+ new (): {
2459
+ /**
2460
+ * @private
2461
+ * This field is private and should not be used, use `tag` instead.
2462
+ */
2463
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2464
+ readonly tag: ContentAlgorithm_Tags.Watermark;
2465
+ };
2466
+ "new"(): {
2467
+ /**
2468
+ * @private
2469
+ * This field is private and should not be used, use `tag` instead.
2470
+ */
2471
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2472
+ readonly tag: ContentAlgorithm_Tags.Watermark;
2473
+ };
2474
+ instanceOf(obj: any): obj is {
2475
+ /**
2476
+ * @private
2477
+ * This field is private and should not be used, use `tag` instead.
2478
+ */
2479
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2480
+ readonly tag: ContentAlgorithm_Tags.Watermark;
2481
+ };
2482
+ };
2483
+ All: {
2484
+ new (): {
2485
+ /**
2486
+ * @private
2487
+ * This field is private and should not be used, use `tag` instead.
2488
+ */
2489
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2490
+ readonly tag: ContentAlgorithm_Tags.All;
2491
+ };
2492
+ "new"(): {
2493
+ /**
2494
+ * @private
2495
+ * This field is private and should not be used, use `tag` instead.
2496
+ */
2497
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2498
+ readonly tag: ContentAlgorithm_Tags.All;
2499
+ };
2500
+ instanceOf(obj: any): obj is {
2501
+ /**
2502
+ * @private
2503
+ * This field is private and should not be used, use `tag` instead.
2504
+ */
2505
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2506
+ readonly tag: ContentAlgorithm_Tags.All;
2507
+ };
2508
+ };
2509
+ Named: {
2510
+ new (inner: {
2511
+ algorithm: string;
2512
+ }): {
2513
+ /**
2514
+ * @private
2515
+ * This field is private and should not be used, use `tag` instead.
2516
+ */
2517
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2518
+ readonly tag: ContentAlgorithm_Tags.Named;
2519
+ readonly inner: Readonly<{
2520
+ algorithm: string;
2521
+ }>;
2522
+ };
2523
+ "new"(inner: {
2524
+ algorithm: string;
2525
+ }): {
2526
+ /**
2527
+ * @private
2528
+ * This field is private and should not be used, use `tag` instead.
2529
+ */
2530
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2531
+ readonly tag: ContentAlgorithm_Tags.Named;
2532
+ readonly inner: Readonly<{
2533
+ algorithm: string;
2534
+ }>;
2535
+ };
2536
+ instanceOf(obj: any): obj is {
2537
+ /**
2538
+ * @private
2539
+ * This field is private and should not be used, use `tag` instead.
2540
+ */
2541
+ readonly [uniffiTypeNameSymbol]: "ContentAlgorithm";
2542
+ readonly tag: ContentAlgorithm_Tags.Named;
2543
+ readonly inner: Readonly<{
2544
+ algorithm: string;
2545
+ }>;
2546
+ };
2547
+ };
2548
+ }>;
2549
+ /**
2550
+ * How a `byContent` query selects the registry's detector algorithms.
2551
+ */
2552
+ export type ContentAlgorithm = InstanceType<typeof ContentAlgorithm['Fingerprint' | 'Watermark' | 'All' | 'Named']>;
2553
+ export declare enum RecoveryQuery_Tags {
2554
+ ByBinding = "ByBinding",
2555
+ ByContent = "ByContent"
2556
+ }
2557
+ /**
2558
+ * A single C2PA Soft Binding Resolution API lookup.
2559
+ */
2560
+ export declare const RecoveryQuery: Readonly<{
2561
+ instanceOf: (obj: any) => obj is RecoveryQuery;
2562
+ ByBinding: {
2563
+ new (inner: {
2564
+ binderIndex: number;
2565
+ }): {
2566
+ /**
2567
+ * @private
2568
+ * This field is private and should not be used, use `tag` instead.
2569
+ */
2570
+ readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2571
+ readonly tag: RecoveryQuery_Tags.ByBinding;
2572
+ readonly inner: Readonly<{
2573
+ binderIndex: number;
2574
+ }>;
2575
+ };
2576
+ "new"(inner: {
2577
+ binderIndex: number;
2578
+ }): {
2579
+ /**
2580
+ * @private
2581
+ * This field is private and should not be used, use `tag` instead.
2582
+ */
2583
+ readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2584
+ readonly tag: RecoveryQuery_Tags.ByBinding;
2585
+ readonly inner: Readonly<{
2586
+ binderIndex: number;
2587
+ }>;
2588
+ };
2589
+ instanceOf(obj: any): obj is {
2590
+ /**
2591
+ * @private
2592
+ * This field is private and should not be used, use `tag` instead.
2593
+ */
2594
+ readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2595
+ readonly tag: RecoveryQuery_Tags.ByBinding;
2596
+ readonly inner: Readonly<{
2597
+ binderIndex: number;
2598
+ }>;
2599
+ };
2600
+ };
2601
+ ByContent: {
2602
+ new (inner: {
2603
+ algorithm: ContentAlgorithm;
2604
+ hintBinderIndex?: number;
2605
+ }): {
2606
+ /**
2607
+ * @private
2608
+ * This field is private and should not be used, use `tag` instead.
2609
+ */
2610
+ readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2611
+ readonly tag: RecoveryQuery_Tags.ByContent;
2612
+ readonly inner: Readonly<{
2613
+ algorithm: ContentAlgorithm;
2614
+ hintBinderIndex?: number;
2615
+ }>;
2616
+ };
2617
+ new: (partial: Parameters<(partial: Partial<{
2618
+ algorithm: ContentAlgorithm;
2619
+ hintBinderIndex?: number;
2620
+ }> & Required<Omit<{
2621
+ algorithm: ContentAlgorithm;
2622
+ hintBinderIndex?: number;
2623
+ }, "hintBinderIndex">>) => {
2624
+ algorithm: ContentAlgorithm;
2625
+ hintBinderIndex?: number;
2626
+ }>[0]) => {
2627
+ /**
2628
+ * @private
2629
+ * This field is private and should not be used, use `tag` instead.
2630
+ */
2631
+ readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2632
+ readonly tag: RecoveryQuery_Tags.ByContent;
2633
+ readonly inner: Readonly<{
2634
+ algorithm: ContentAlgorithm;
2635
+ hintBinderIndex?: number;
2636
+ }>;
2637
+ };
2638
+ instanceOf(obj: any): obj is {
2639
+ /**
2640
+ * @private
2641
+ * This field is private and should not be used, use `tag` instead.
2642
+ */
2643
+ readonly [uniffiTypeNameSymbol]: "RecoveryQuery";
2644
+ readonly tag: RecoveryQuery_Tags.ByContent;
2645
+ readonly inner: Readonly<{
2646
+ algorithm: ContentAlgorithm;
2647
+ hintBinderIndex?: number;
2648
+ }>;
2649
+ };
2650
+ };
2651
+ }>;
2652
+ /**
2653
+ * A single C2PA Soft Binding Resolution API lookup.
2654
+ */
2655
+ export type RecoveryQuery = InstanceType<typeof RecoveryQuery['ByBinding' | 'ByContent']>;
2656
+ /**
2657
+ * Scheduling within a recovery stage.
2658
+ */
2659
+ export declare enum RecoveryExecution {
2660
+ /**
2661
+ * Finish one query before starting the next.
2662
+ */
2663
+ Sequential = 0,
2664
+ /**
2665
+ * Start all queries together and merge their results in declaration order.
2666
+ */
2667
+ Parallel = 1
2668
+ }
2669
+ /**
2670
+ * The condition that completes a recovery stage.
2671
+ */
2672
+ export declare enum RecoveryCompletion {
2673
+ /**
2674
+ * Stop after the first declared query that returns a credential.
2675
+ */
2676
+ FirstResult = 0,
2677
+ /**
2678
+ * Run every query and retain the union of their credentials and evidence.
2679
+ */
2680
+ AllResults = 1
2681
+ }
2682
+ /**
2683
+ * One ordered group of registry queries.
2684
+ */
2685
+ export type RecoveryStage = {
2686
+ /**
2687
+ * Queries in declaration order. Their order is also the deterministic result priority.
2688
+ */
2689
+ queries: Array<RecoveryQuery>;
2690
+ /**
2691
+ * Whether queries start one at a time or together.
2692
+ */
2693
+ execution: RecoveryExecution;
2694
+ /**
2695
+ * Whether this stage stops at its first successful query or retains every result.
2696
+ */
2697
+ completion: RecoveryCompletion;
2698
+ };
2699
+ /**
2700
+ * Generated factory for {@link RecoveryStage} record objects.
2701
+ */
2702
+ export declare const RecoveryStage: Readonly<{
2703
+ create: (partial: Partial<RecoveryStage> & Required<Omit<RecoveryStage, never>>) => RecoveryStage;
2704
+ new: (partial: Partial<RecoveryStage> & Required<Omit<RecoveryStage, never>>) => RecoveryStage;
2705
+ defaults: () => Partial<RecoveryStage>;
2706
+ }>;
2416
2707
  /**
2417
2708
  * A byte range holding a bare C2PA manifest store, or reserved for one. A record of
2418
2709
  * primitives, so a plugin in its OWN UniFFI namespace declares a structurally identical
@@ -2927,6 +3218,10 @@ export declare class Binder extends UniffiAbstractObject implements BinderLike {
2927
3218
  readonly [destructorGuardSymbol]: UniffiGcObject;
2928
3219
  readonly [pointerLiteralSymbol]: UniffiHandle;
2929
3220
  private constructor();
3221
+ /**
3222
+ * A caller-supplied binder for a soft-binding algorithm not built into the SDK.
3223
+ */
3224
+ static custom(plugin: BinderPlugin): BinderLike;
2930
3225
  /**
2931
3226
  * A binding you already hold, such as an out-of-band video ISCC. Reads nothing.
2932
3227
  */
@@ -2953,6 +3248,58 @@ export declare class Binder extends UniffiAbstractObject implements BinderLike {
2953
3248
  uniffiDestroy(): void;
2954
3249
  static instanceOf(obj_: any): obj_ is Binder;
2955
3250
  }
3251
+ export declare enum RecoveryPlan_Tags {
3252
+ Custom = "Custom"
3253
+ }
3254
+ /**
3255
+ * The registry work a verification call is allowed to perform.
3256
+ */
3257
+ export declare const RecoveryPlan: Readonly<{
3258
+ instanceOf: (obj: any) => obj is RecoveryPlan;
3259
+ Custom: {
3260
+ new (inner: {
3261
+ stages: Array<RecoveryStage>;
3262
+ }): {
3263
+ /**
3264
+ * @private
3265
+ * This field is private and should not be used, use `tag` instead.
3266
+ */
3267
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
3268
+ readonly tag: RecoveryPlan_Tags.Custom;
3269
+ readonly inner: Readonly<{
3270
+ stages: Array<RecoveryStage>;
3271
+ }>;
3272
+ };
3273
+ "new"(inner: {
3274
+ stages: Array<RecoveryStage>;
3275
+ }): {
3276
+ /**
3277
+ * @private
3278
+ * This field is private and should not be used, use `tag` instead.
3279
+ */
3280
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
3281
+ readonly tag: RecoveryPlan_Tags.Custom;
3282
+ readonly inner: Readonly<{
3283
+ stages: Array<RecoveryStage>;
3284
+ }>;
3285
+ };
3286
+ instanceOf(obj: any): obj is {
3287
+ /**
3288
+ * @private
3289
+ * This field is private and should not be used, use `tag` instead.
3290
+ */
3291
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
3292
+ readonly tag: RecoveryPlan_Tags.Custom;
3293
+ readonly inner: Readonly<{
3294
+ stages: Array<RecoveryStage>;
3295
+ }>;
3296
+ };
3297
+ };
3298
+ }>;
3299
+ /**
3300
+ * The registry work a verification call is allowed to perform.
3301
+ */
3302
+ export type RecoveryPlan = InstanceType<typeof RecoveryPlan['Custom']>;
2956
3303
  /**
2957
3304
  * The read surface a plugin implements. Implemented by the CALLER, in Rust
2958
3305
  * behind its own cdylib or directly in the host language, and handed to `verify`.
@@ -3057,20 +3404,21 @@ export declare class PluginRegistry extends UniffiAbstractObject implements Plug
3057
3404
  /**
3058
3405
  * Everything one [`AssetVerifier::verify`] needs beyond the asset.
3059
3406
  *
3060
- * `binders` composes soft-binding recovery after the embedded pass, tried in order,
3061
- * first hit wins; pass `[]` for none. `plugins` carries the caller's plugins for non-c2pa formats
3407
+ * `binders` are addressed by recovery-plan indexes. `recovery_plan` is required when the verifier
3408
+ * has a registry and absent for embedded-only verification. `plugins` carries caller plugins for non-c2pa formats
3062
3409
  * (e.g. MXF); a built-in C2PA media format needs none.
3063
3410
  */
3064
3411
  export type VerifyOptions = {
3065
3412
  binders: Array<BinderLike>;
3413
+ recoveryPlan?: RecoveryPlan;
3066
3414
  plugins?: PluginRegistryLike;
3067
3415
  };
3068
3416
  /**
3069
3417
  * Generated factory for {@link VerifyOptions} record objects.
3070
3418
  */
3071
3419
  export declare const VerifyOptions: Readonly<{
3072
- create: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins">>) => VerifyOptions;
3073
- new: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins">>) => VerifyOptions;
3420
+ create: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins" | "recoveryPlan">>) => VerifyOptions;
3421
+ new: (partial: Partial<VerifyOptions> & Required<Omit<VerifyOptions, "plugins" | "recoveryPlan">>) => VerifyOptions;
3074
3422
  defaults: () => Partial<VerifyOptions>;
3075
3423
  }>;
3076
3424
  export declare enum SegmentValidation_Tags {
@@ -3177,9 +3525,8 @@ export type SegmentValidation = InstanceType<typeof SegmentValidation['Init' | '
3177
3525
  */
3178
3526
  export interface AssetVerifierLike {
3179
3527
  /**
3180
- * Verify an asset from a [`RangeSource`] (the host's ranged reader). `binders`
3181
- * compose soft-binding recovery after the embedded pass, tried in order,
3182
- * first hit wins; pass `[]` for none. `plugins` carries the caller's
3528
+ * Verify an asset from a [`RangeSource`] using the per-call binders and recovery plan.
3529
+ * `plugins` carries the caller's
3183
3530
  * plugins for non-c2pa formats (e.g. MXF); pass an empty `PluginRegistry` for a
3184
3531
  * built-in C2PA media format. The SDK links no plugin itself. Returns embedded/recovered
3185
3532
  * credentials plus typed recovery and golden-comparison outcomes.
@@ -3215,9 +3562,8 @@ export declare class AssetVerifier extends UniffiAbstractObject implements Asset
3215
3562
  */
3216
3563
  static create(options: AssetVerifierOptions): AssetVerifierLike;
3217
3564
  /**
3218
- * Verify an asset from a [`RangeSource`] (the host's ranged reader). `binders`
3219
- * compose soft-binding recovery after the embedded pass, tried in order,
3220
- * first hit wins; pass `[]` for none. `plugins` carries the caller's
3565
+ * Verify an asset from a [`RangeSource`] using the per-call binders and recovery plan.
3566
+ * `plugins` carries the caller's
3221
3567
  * plugins for non-c2pa formats (e.g. MXF); pass an empty `PluginRegistry` for a
3222
3568
  * built-in C2PA media format. The SDK links no plugin itself. Returns embedded/recovered
3223
3569
  * credentials plus typed recovery and golden-comparison outcomes.
@@ -3515,6 +3861,19 @@ export declare class StreamVerifier extends UniffiAbstractObject implements Stre
3515
3861
  uniffiDestroy(): void;
3516
3862
  static instanceOf(obj_: any): obj_ is StreamVerifier;
3517
3863
  }
3864
+ /**
3865
+ * A caller-supplied soft-binding implementation.
3866
+ *
3867
+ * This is the extension point for algorithms the SDK does not ship. The callback receives the
3868
+ * same ranged asset source and resolved media type as the built-in binders and may return no
3869
+ * binding when the algorithm does not apply. The returned `alg` identifies the C2PA algorithm
3870
+ * used by the caller's recovery plan and registry index.
3871
+ */
3872
+ export interface BinderPlugin {
3873
+ derive(source: RangeSource, format: string, asyncOpts_?: {
3874
+ signal: AbortSignal;
3875
+ }): Promise<SoftBinding | undefined>;
3876
+ }
3518
3877
  /**
3519
3878
  * This should be called before anything else.
3520
3879
  *
@@ -3580,6 +3939,13 @@ declare const _default$1: Readonly<{
3580
3939
  lift(value: UniffiByteArray): Code;
3581
3940
  lower(value: Code, alloc: RustBufferAllocator): UniffiByteArray;
3582
3941
  };
3942
+ FfiConverterTypeContentAlgorithm: {
3943
+ readFromCursor(c: Cursor): ContentAlgorithm;
3944
+ writeIntoCursor(value: ContentAlgorithm, c: Cursor): void;
3945
+ allocationSize(value: ContentAlgorithm): number;
3946
+ lift(value: UniffiByteArray): ContentAlgorithm;
3947
+ lower(value: ContentAlgorithm, alloc: RustBufferAllocator): UniffiByteArray;
3948
+ };
3583
3949
  FfiConverterTypeContentBindingClass: {
3584
3950
  readFromCursor(c: Cursor): ContentBindingClass;
3585
3951
  writeIntoCursor(value: ContentBindingClass, c: Cursor): void;
@@ -3587,13 +3953,6 @@ declare const _default$1: Readonly<{
3587
3953
  lift(value: UniffiByteArray): ContentBindingClass;
3588
3954
  lower(value: ContentBindingClass, alloc: RustBufferAllocator): UniffiByteArray;
3589
3955
  };
3590
- FfiConverterTypeContentBindingEvidence: {
3591
- readFromCursor(c: Cursor): ContentBindingEvidence;
3592
- writeIntoCursor(value: ContentBindingEvidence, c: Cursor): void;
3593
- allocationSize(value: ContentBindingEvidence): number;
3594
- lift(value: UniffiByteArray): ContentBindingEvidence;
3595
- lower(value: ContentBindingEvidence, alloc: RustBufferAllocator): UniffiByteArray;
3596
- };
3597
3956
  FfiConverterTypeCoordinate: {
3598
3957
  readFromCursor(c: Cursor): Coordinate;
3599
3958
  writeIntoCursor(value: Coordinate, c: Cursor): void;
@@ -3665,6 +4024,13 @@ declare const _default$1: Readonly<{
3665
4024
  lift(value: UniffiByteArray): GoldenComparison;
3666
4025
  lower(value: GoldenComparison, alloc: RustBufferAllocator): UniffiByteArray;
3667
4026
  };
4027
+ FfiConverterTypeHardBinding: {
4028
+ readFromCursor(c: Cursor): HardBinding;
4029
+ writeIntoCursor(value: HardBinding, c: Cursor): void;
4030
+ allocationSize(value: HardBinding): number;
4031
+ lift(value: UniffiByteArray): HardBinding;
4032
+ lower(value: HardBinding, alloc: RustBufferAllocator): UniffiByteArray;
4033
+ };
3668
4034
  FfiConverterTypeHashedUri: {
3669
4035
  readFromCursor(c: Cursor): HashedUri;
3670
4036
  writeIntoCursor(value: HashedUri, c: Cursor): void;
@@ -3752,6 +4118,27 @@ declare const _default$1: Readonly<{
3752
4118
  lift(value: UniffiByteArray): RangeType;
3753
4119
  lower(value: RangeType, alloc: RustBufferAllocator): UniffiByteArray;
3754
4120
  };
4121
+ FfiConverterTypeRecoveryCompletion: {
4122
+ readFromCursor(c: Cursor): RecoveryCompletion;
4123
+ writeIntoCursor(value: RecoveryCompletion, c: Cursor): void;
4124
+ allocationSize(value: RecoveryCompletion): number;
4125
+ lift(value: UniffiByteArray): RecoveryCompletion;
4126
+ lower(value: RecoveryCompletion, alloc: RustBufferAllocator): UniffiByteArray;
4127
+ };
4128
+ FfiConverterTypeRecoveryDiscovery: {
4129
+ readFromCursor(c: Cursor): RecoveryDiscovery;
4130
+ writeIntoCursor(value: RecoveryDiscovery, c: Cursor): void;
4131
+ allocationSize(value: RecoveryDiscovery): number;
4132
+ lift(value: UniffiByteArray): RecoveryDiscovery;
4133
+ lower(value: RecoveryDiscovery, alloc: RustBufferAllocator): UniffiByteArray;
4134
+ };
4135
+ FfiConverterTypeRecoveryExecution: {
4136
+ readFromCursor(c: Cursor): RecoveryExecution;
4137
+ writeIntoCursor(value: RecoveryExecution, c: Cursor): void;
4138
+ allocationSize(value: RecoveryExecution): number;
4139
+ lift(value: UniffiByteArray): RecoveryExecution;
4140
+ lower(value: RecoveryExecution, alloc: RustBufferAllocator): UniffiByteArray;
4141
+ };
3755
4142
  FfiConverterTypeRecoveryIssue: {
3756
4143
  readFromCursor(c: Cursor): RecoveryIssue;
3757
4144
  writeIntoCursor(value: RecoveryIssue, c: Cursor): void;
@@ -3766,6 +4153,63 @@ declare const _default$1: Readonly<{
3766
4153
  lift(value: UniffiByteArray): RecoveryIssueKind;
3767
4154
  lower(value: RecoveryIssueKind, alloc: RustBufferAllocator): UniffiByteArray;
3768
4155
  };
4156
+ FfiConverterTypeRecoveryPlan: {
4157
+ readFromCursor(c: Cursor): {
4158
+ /**
4159
+ * @private
4160
+ * This field is private and should not be used, use `tag` instead.
4161
+ */
4162
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4163
+ readonly tag: RecoveryPlan_Tags.Custom;
4164
+ readonly inner: Readonly<{
4165
+ stages: Array<RecoveryStage>;
4166
+ }>;
4167
+ };
4168
+ writeIntoCursor(value: {
4169
+ /**
4170
+ * @private
4171
+ * This field is private and should not be used, use `tag` instead.
4172
+ */
4173
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4174
+ readonly tag: RecoveryPlan_Tags.Custom;
4175
+ readonly inner: Readonly<{
4176
+ stages: Array<RecoveryStage>;
4177
+ }>;
4178
+ }, c: Cursor): void;
4179
+ allocationSize(value: {
4180
+ /**
4181
+ * @private
4182
+ * This field is private and should not be used, use `tag` instead.
4183
+ */
4184
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4185
+ readonly tag: RecoveryPlan_Tags.Custom;
4186
+ readonly inner: Readonly<{
4187
+ stages: Array<RecoveryStage>;
4188
+ }>;
4189
+ }): number;
4190
+ lift(value: UniffiByteArray): {
4191
+ /**
4192
+ * @private
4193
+ * This field is private and should not be used, use `tag` instead.
4194
+ */
4195
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4196
+ readonly tag: RecoveryPlan_Tags.Custom;
4197
+ readonly inner: Readonly<{
4198
+ stages: Array<RecoveryStage>;
4199
+ }>;
4200
+ };
4201
+ lower(value: {
4202
+ /**
4203
+ * @private
4204
+ * This field is private and should not be used, use `tag` instead.
4205
+ */
4206
+ readonly [uniffiTypeNameSymbol]: "RecoveryPlan";
4207
+ readonly tag: RecoveryPlan_Tags.Custom;
4208
+ readonly inner: Readonly<{
4209
+ stages: Array<RecoveryStage>;
4210
+ }>;
4211
+ }, alloc: RustBufferAllocator): UniffiByteArray;
4212
+ };
3769
4213
  FfiConverterTypeRecoveryPolicy: {
3770
4214
  readFromCursor(c: Cursor): RecoveryPolicy;
3771
4215
  writeIntoCursor(value: RecoveryPolicy, c: Cursor): void;
@@ -3773,6 +4217,20 @@ declare const _default$1: Readonly<{
3773
4217
  lift(value: UniffiByteArray): RecoveryPolicy;
3774
4218
  lower(value: RecoveryPolicy, alloc: RustBufferAllocator): UniffiByteArray;
3775
4219
  };
4220
+ FfiConverterTypeRecoveryQuery: {
4221
+ readFromCursor(c: Cursor): RecoveryQuery;
4222
+ writeIntoCursor(value: RecoveryQuery, c: Cursor): void;
4223
+ allocationSize(value: RecoveryQuery): number;
4224
+ lift(value: UniffiByteArray): RecoveryQuery;
4225
+ lower(value: RecoveryQuery, alloc: RustBufferAllocator): UniffiByteArray;
4226
+ };
4227
+ FfiConverterTypeRecoveryStage: {
4228
+ readFromCursor(c: Cursor): RecoveryStage;
4229
+ writeIntoCursor(value: RecoveryStage, c: Cursor): void;
4230
+ allocationSize(value: RecoveryStage): number;
4231
+ lift(value: UniffiByteArray): RecoveryStage;
4232
+ lower(value: RecoveryStage, alloc: RustBufferAllocator): UniffiByteArray;
4233
+ };
3776
4234
  FfiConverterTypeRecoveryStatus: {
3777
4235
  readFromCursor(c: Cursor): RecoveryStatus;
3778
4236
  writeIntoCursor(value: RecoveryStatus, c: Cursor): void;
@@ -3808,13 +4266,6 @@ declare const _default$1: Readonly<{
3808
4266
  lift(value: UniffiByteArray): RegistryOptions;
3809
4267
  lower(value: RegistryOptions, alloc: RustBufferAllocator): UniffiByteArray;
3810
4268
  };
3811
- FfiConverterTypeRegistryQueries: {
3812
- readFromCursor(c: Cursor): RegistryQueries;
3813
- writeIntoCursor(value: RegistryQueries, c: Cursor): void;
3814
- allocationSize(value: RegistryQueries): number;
3815
- lift(value: UniffiByteArray): RegistryQueries;
3816
- lower(value: RegistryQueries, alloc: RustBufferAllocator): UniffiByteArray;
3817
- };
3818
4269
  FfiConverterTypeRelationship: {
3819
4270
  readFromCursor(c: Cursor): Relationship;
3820
4271
  writeIntoCursor(value: Relationship, c: Cursor): void;