@nokinc-flur/sdk 1.1.2 → 1.1.3

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.
package/dist/index.d.cts CHANGED
@@ -2841,14 +2841,14 @@ type AccountsClient = {
2841
2841
  declare function createAccountsClient(opts: AccountsClientOptions): AccountsClient;
2842
2842
 
2843
2843
  /**
2844
- * Consumer-side offline payments SDK client.
2844
+ * Consumer-side Offline Collect SDK client.
2845
2845
  *
2846
2846
  * Wraps the backend `/v1/me/offline/*` routes (session-bearer auth ONLY —
2847
- * NOT partner HMAC). These power the Flur mobile app's offline-pay flow:
2847
+ * NOT partner HMAC). These power the payer authorization side of Flur Offline Collect:
2848
2848
  * - register/list/revoke device signing keys
2849
- * - enable / refresh / disable offline mode (real hold + OAC issuance)
2849
+ * - provision / refresh / release a hold-backed offline allowance
2850
2850
  * - read offline status (current hold + active OAC)
2851
- * - submit a signed offline payment claim for settlement
2851
+ * - submit a signed offline collection claim for settlement
2852
2852
  *
2853
2853
  * Schemas mirror `flur-backend/src/offline-consumer/types.ts`.
2854
2854
  */
@@ -2864,11 +2864,62 @@ declare const RegisterDeviceKeyInputSchema: z.ZodObject<{
2864
2864
  publicKeyHex: string;
2865
2865
  }>;
2866
2866
  type RegisterDeviceKeyInput = z.infer<typeof RegisterDeviceKeyInputSchema>;
2867
+ declare const AttestationSecurityLevelSchema: z.ZodEnum<["STRONGBOX", "TEE", "SECURE_ENCLAVE", "SOFTWARE"]>;
2868
+ type AttestationSecurityLevel = z.infer<typeof AttestationSecurityLevelSchema>;
2869
+ declare const DeviceKeyAlgSchema: z.ZodEnum<["ed25519", "p256"]>;
2870
+ type DeviceKeyAlg = z.infer<typeof DeviceKeyAlgSchema>;
2871
+ declare const RegisterDeviceKeyP256InputSchema: z.ZodObject<{
2872
+ deviceId: z.ZodString;
2873
+ /** P-256 SubjectPublicKeyInfo DER, base64. */
2874
+ publicKeySpkiB64: z.ZodString;
2875
+ /** Base64 of the server-issued enrollment challenge string. */
2876
+ challengeB64: z.ZodString;
2877
+ /** iOS App Attest payload or Android X.509 Key Attestation chain. */
2878
+ attestationChainB64: z.ZodArray<z.ZodString, "many">;
2879
+ securityLevel: z.ZodEnum<["STRONGBOX", "TEE", "SECURE_ENCLAVE", "SOFTWARE"]>;
2880
+ }, "strip", z.ZodTypeAny, {
2881
+ deviceId: string;
2882
+ publicKeySpkiB64: string;
2883
+ challengeB64: string;
2884
+ attestationChainB64: string[];
2885
+ securityLevel: "STRONGBOX" | "TEE" | "SECURE_ENCLAVE" | "SOFTWARE";
2886
+ }, {
2887
+ deviceId: string;
2888
+ publicKeySpkiB64: string;
2889
+ challengeB64: string;
2890
+ attestationChainB64: string[];
2891
+ securityLevel: "STRONGBOX" | "TEE" | "SECURE_ENCLAVE" | "SOFTWARE";
2892
+ }>;
2893
+ type RegisterDeviceKeyP256Input = z.infer<typeof RegisterDeviceKeyP256InputSchema>;
2894
+ declare const P256EnrollmentChallengeInputSchema: z.ZodObject<{
2895
+ deviceId: z.ZodString;
2896
+ }, "strip", z.ZodTypeAny, {
2897
+ deviceId: string;
2898
+ }, {
2899
+ deviceId: string;
2900
+ }>;
2901
+ type P256EnrollmentChallengeInput = z.infer<typeof P256EnrollmentChallengeInputSchema>;
2902
+ declare const P256EnrollmentChallengeResultSchema: z.ZodObject<{
2903
+ challenge: z.ZodString;
2904
+ expiresAtMs: z.ZodNumber;
2905
+ }, "strip", z.ZodTypeAny, {
2906
+ expiresAtMs: number;
2907
+ challenge: string;
2908
+ }, {
2909
+ expiresAtMs: number;
2910
+ challenge: string;
2911
+ }>;
2912
+ type P256EnrollmentChallengeResult = z.infer<typeof P256EnrollmentChallengeResultSchema>;
2867
2913
  declare const DeviceKeyRecordSchema: z.ZodObject<{
2868
2914
  id: z.ZodString;
2869
2915
  userId: z.ZodString;
2870
2916
  deviceId: z.ZodString;
2871
- publicKeyHex: z.ZodString;
2917
+ alg: z.ZodDefault<z.ZodEnum<["ed25519", "p256"]>>;
2918
+ publicKeyHex: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2919
+ publicKeySpkiB64: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2920
+ securityLevel: z.ZodDefault<z.ZodNullable<z.ZodEnum<["STRONGBOX", "TEE", "SECURE_ENCLAVE", "SOFTWARE"]>>>;
2921
+ hardwareBacked: z.ZodDefault<z.ZodBoolean>;
2922
+ attestedAtMs: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
2872
2923
  createdAtMs: z.ZodNumber;
2873
2924
  revokedAtMs: z.ZodNullable<z.ZodNumber>;
2874
2925
  }, "strip", z.ZodTypeAny, {
@@ -2877,22 +2928,34 @@ declare const DeviceKeyRecordSchema: z.ZodObject<{
2877
2928
  id: string;
2878
2929
  createdAtMs: number;
2879
2930
  revokedAtMs: number | null;
2880
- publicKeyHex: string;
2931
+ publicKeyHex: string | null;
2932
+ publicKeySpkiB64: string | null;
2933
+ securityLevel: "STRONGBOX" | "TEE" | "SECURE_ENCLAVE" | "SOFTWARE" | null;
2934
+ alg: "ed25519" | "p256";
2935
+ hardwareBacked: boolean;
2936
+ attestedAtMs: number | null;
2881
2937
  }, {
2882
2938
  userId: string;
2883
2939
  deviceId: string;
2884
2940
  id: string;
2885
2941
  createdAtMs: number;
2886
2942
  revokedAtMs: number | null;
2887
- publicKeyHex: string;
2943
+ publicKeyHex?: string | null | undefined;
2944
+ publicKeySpkiB64?: string | null | undefined;
2945
+ securityLevel?: "STRONGBOX" | "TEE" | "SECURE_ENCLAVE" | "SOFTWARE" | null | undefined;
2946
+ alg?: "ed25519" | "p256" | undefined;
2947
+ hardwareBacked?: boolean | undefined;
2948
+ attestedAtMs?: number | null | undefined;
2888
2949
  }>;
2889
2950
  type DeviceKeyRecord = z.infer<typeof DeviceKeyRecordSchema>;
2890
- declare const ConsumerOACSchema: z.ZodObject<{
2951
+ declare const ConsumerOACSchema: z.ZodEffects<z.ZodObject<{
2891
2952
  oacId: z.ZodString;
2892
2953
  issuerId: z.ZodString;
2893
2954
  userId: z.ZodString;
2894
2955
  deviceId: z.ZodString;
2895
- devicePubkeyHex: z.ZodString;
2956
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
2957
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
2958
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
2896
2959
  perTxCapKobo: z.ZodNumber;
2897
2960
  cumulativeCapKobo: z.ZodNumber;
2898
2961
  currency: z.ZodString;
@@ -2912,7 +2975,9 @@ declare const ConsumerOACSchema: z.ZodObject<{
2912
2975
  issuedAtMs: number;
2913
2976
  issuerId: string;
2914
2977
  oacId: string;
2915
- devicePubkeyHex: string;
2978
+ alg?: "ed25519" | "p256" | undefined;
2979
+ devicePubkeyHex?: string | undefined;
2980
+ devicePubkeySpkiB64?: string | undefined;
2916
2981
  }, {
2917
2982
  userId: string;
2918
2983
  deviceId: string;
@@ -2925,16 +2990,50 @@ declare const ConsumerOACSchema: z.ZodObject<{
2925
2990
  issuedAtMs: number;
2926
2991
  issuerId: string;
2927
2992
  oacId: string;
2928
- devicePubkeyHex: string;
2993
+ alg?: "ed25519" | "p256" | undefined;
2994
+ devicePubkeyHex?: string | undefined;
2995
+ devicePubkeySpkiB64?: string | undefined;
2996
+ }>, {
2997
+ userId: string;
2998
+ deviceId: string;
2999
+ currency: string;
3000
+ perTxCapKobo: number;
3001
+ cumulativeCapKobo: number;
3002
+ validFromMs: number;
3003
+ validUntilMs: number;
3004
+ counterSeed: number;
3005
+ issuedAtMs: number;
3006
+ issuerId: string;
3007
+ oacId: string;
3008
+ alg?: "ed25519" | "p256" | undefined;
3009
+ devicePubkeyHex?: string | undefined;
3010
+ devicePubkeySpkiB64?: string | undefined;
3011
+ }, {
3012
+ userId: string;
3013
+ deviceId: string;
3014
+ currency: string;
3015
+ perTxCapKobo: number;
3016
+ cumulativeCapKobo: number;
3017
+ validFromMs: number;
3018
+ validUntilMs: number;
3019
+ counterSeed: number;
3020
+ issuedAtMs: number;
3021
+ issuerId: string;
3022
+ oacId: string;
3023
+ alg?: "ed25519" | "p256" | undefined;
3024
+ devicePubkeyHex?: string | undefined;
3025
+ devicePubkeySpkiB64?: string | undefined;
2929
3026
  }>;
2930
3027
  type ConsumerOAC = z.infer<typeof ConsumerOACSchema>;
2931
3028
  declare const SignedConsumerOACSchema: z.ZodObject<{
2932
- oac: z.ZodObject<{
3029
+ oac: z.ZodEffects<z.ZodObject<{
2933
3030
  oacId: z.ZodString;
2934
3031
  issuerId: z.ZodString;
2935
3032
  userId: z.ZodString;
2936
3033
  deviceId: z.ZodString;
2937
- devicePubkeyHex: z.ZodString;
3034
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
3035
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
3036
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
2938
3037
  perTxCapKobo: z.ZodNumber;
2939
3038
  cumulativeCapKobo: z.ZodNumber;
2940
3039
  currency: z.ZodString;
@@ -2954,7 +3053,39 @@ declare const SignedConsumerOACSchema: z.ZodObject<{
2954
3053
  issuedAtMs: number;
2955
3054
  issuerId: string;
2956
3055
  oacId: string;
2957
- devicePubkeyHex: string;
3056
+ alg?: "ed25519" | "p256" | undefined;
3057
+ devicePubkeyHex?: string | undefined;
3058
+ devicePubkeySpkiB64?: string | undefined;
3059
+ }, {
3060
+ userId: string;
3061
+ deviceId: string;
3062
+ currency: string;
3063
+ perTxCapKobo: number;
3064
+ cumulativeCapKobo: number;
3065
+ validFromMs: number;
3066
+ validUntilMs: number;
3067
+ counterSeed: number;
3068
+ issuedAtMs: number;
3069
+ issuerId: string;
3070
+ oacId: string;
3071
+ alg?: "ed25519" | "p256" | undefined;
3072
+ devicePubkeyHex?: string | undefined;
3073
+ devicePubkeySpkiB64?: string | undefined;
3074
+ }>, {
3075
+ userId: string;
3076
+ deviceId: string;
3077
+ currency: string;
3078
+ perTxCapKobo: number;
3079
+ cumulativeCapKobo: number;
3080
+ validFromMs: number;
3081
+ validUntilMs: number;
3082
+ counterSeed: number;
3083
+ issuedAtMs: number;
3084
+ issuerId: string;
3085
+ oacId: string;
3086
+ alg?: "ed25519" | "p256" | undefined;
3087
+ devicePubkeyHex?: string | undefined;
3088
+ devicePubkeySpkiB64?: string | undefined;
2958
3089
  }, {
2959
3090
  userId: string;
2960
3091
  deviceId: string;
@@ -2967,7 +3098,9 @@ declare const SignedConsumerOACSchema: z.ZodObject<{
2967
3098
  issuedAtMs: number;
2968
3099
  issuerId: string;
2969
3100
  oacId: string;
2970
- devicePubkeyHex: string;
3101
+ alg?: "ed25519" | "p256" | undefined;
3102
+ devicePubkeyHex?: string | undefined;
3103
+ devicePubkeySpkiB64?: string | undefined;
2971
3104
  }>;
2972
3105
  issuerSig: z.ZodString;
2973
3106
  issuerPublicKeyHex: z.ZodString;
@@ -2985,7 +3118,9 @@ declare const SignedConsumerOACSchema: z.ZodObject<{
2985
3118
  issuedAtMs: number;
2986
3119
  issuerId: string;
2987
3120
  oacId: string;
2988
- devicePubkeyHex: string;
3121
+ alg?: "ed25519" | "p256" | undefined;
3122
+ devicePubkeyHex?: string | undefined;
3123
+ devicePubkeySpkiB64?: string | undefined;
2989
3124
  };
2990
3125
  issuerPublicKeyHex: string;
2991
3126
  }, {
@@ -3002,18 +3137,22 @@ declare const SignedConsumerOACSchema: z.ZodObject<{
3002
3137
  issuedAtMs: number;
3003
3138
  issuerId: string;
3004
3139
  oacId: string;
3005
- devicePubkeyHex: string;
3140
+ alg?: "ed25519" | "p256" | undefined;
3141
+ devicePubkeyHex?: string | undefined;
3142
+ devicePubkeySpkiB64?: string | undefined;
3006
3143
  };
3007
3144
  issuerPublicKeyHex: string;
3008
3145
  }>;
3009
3146
  type SignedConsumerOAC = z.infer<typeof SignedConsumerOACSchema>;
3010
3147
  declare const OACRecordSchema: z.ZodObject<{
3011
- oac: z.ZodObject<{
3148
+ oac: z.ZodEffects<z.ZodObject<{
3012
3149
  oacId: z.ZodString;
3013
3150
  issuerId: z.ZodString;
3014
3151
  userId: z.ZodString;
3015
3152
  deviceId: z.ZodString;
3016
- devicePubkeyHex: z.ZodString;
3153
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
3154
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
3155
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
3017
3156
  perTxCapKobo: z.ZodNumber;
3018
3157
  cumulativeCapKobo: z.ZodNumber;
3019
3158
  currency: z.ZodString;
@@ -3033,7 +3172,9 @@ declare const OACRecordSchema: z.ZodObject<{
3033
3172
  issuedAtMs: number;
3034
3173
  issuerId: string;
3035
3174
  oacId: string;
3036
- devicePubkeyHex: string;
3175
+ alg?: "ed25519" | "p256" | undefined;
3176
+ devicePubkeyHex?: string | undefined;
3177
+ devicePubkeySpkiB64?: string | undefined;
3037
3178
  }, {
3038
3179
  userId: string;
3039
3180
  deviceId: string;
@@ -3046,7 +3187,39 @@ declare const OACRecordSchema: z.ZodObject<{
3046
3187
  issuedAtMs: number;
3047
3188
  issuerId: string;
3048
3189
  oacId: string;
3049
- devicePubkeyHex: string;
3190
+ alg?: "ed25519" | "p256" | undefined;
3191
+ devicePubkeyHex?: string | undefined;
3192
+ devicePubkeySpkiB64?: string | undefined;
3193
+ }>, {
3194
+ userId: string;
3195
+ deviceId: string;
3196
+ currency: string;
3197
+ perTxCapKobo: number;
3198
+ cumulativeCapKobo: number;
3199
+ validFromMs: number;
3200
+ validUntilMs: number;
3201
+ counterSeed: number;
3202
+ issuedAtMs: number;
3203
+ issuerId: string;
3204
+ oacId: string;
3205
+ alg?: "ed25519" | "p256" | undefined;
3206
+ devicePubkeyHex?: string | undefined;
3207
+ devicePubkeySpkiB64?: string | undefined;
3208
+ }, {
3209
+ userId: string;
3210
+ deviceId: string;
3211
+ currency: string;
3212
+ perTxCapKobo: number;
3213
+ cumulativeCapKobo: number;
3214
+ validFromMs: number;
3215
+ validUntilMs: number;
3216
+ counterSeed: number;
3217
+ issuedAtMs: number;
3218
+ issuerId: string;
3219
+ oacId: string;
3220
+ alg?: "ed25519" | "p256" | undefined;
3221
+ devicePubkeyHex?: string | undefined;
3222
+ devicePubkeySpkiB64?: string | undefined;
3050
3223
  }>;
3051
3224
  issuerSig: z.ZodString;
3052
3225
  issuerPublicKeyHex: z.ZodString;
@@ -3072,7 +3245,9 @@ declare const OACRecordSchema: z.ZodObject<{
3072
3245
  issuedAtMs: number;
3073
3246
  issuerId: string;
3074
3247
  oacId: string;
3075
- devicePubkeyHex: string;
3248
+ alg?: "ed25519" | "p256" | undefined;
3249
+ devicePubkeyHex?: string | undefined;
3250
+ devicePubkeySpkiB64?: string | undefined;
3076
3251
  };
3077
3252
  issuerPublicKeyHex: string;
3078
3253
  currentOfflineSpentKobo: number;
@@ -3094,7 +3269,9 @@ declare const OACRecordSchema: z.ZodObject<{
3094
3269
  issuedAtMs: number;
3095
3270
  issuerId: string;
3096
3271
  oacId: string;
3097
- devicePubkeyHex: string;
3272
+ alg?: "ed25519" | "p256" | undefined;
3273
+ devicePubkeyHex?: string | undefined;
3274
+ devicePubkeySpkiB64?: string | undefined;
3098
3275
  };
3099
3276
  issuerPublicKeyHex: string;
3100
3277
  currentOfflineSpentKobo: number;
@@ -3145,6 +3322,29 @@ declare const EnableOfflineInputSchema: z.ZodObject<{
3145
3322
  partnerId?: string | undefined;
3146
3323
  }>;
3147
3324
  type EnableOfflineInput = z.infer<typeof EnableOfflineInputSchema>;
3325
+ declare const ProvisionOfflineAllowanceInputSchema: z.ZodObject<{
3326
+ deviceId: z.ZodString;
3327
+ amountKobo: z.ZodNumber;
3328
+ perTxCapKobo: z.ZodOptional<z.ZodNumber>;
3329
+ ttlMs: z.ZodOptional<z.ZodNumber>;
3330
+ installId: z.ZodString;
3331
+ partnerId: z.ZodOptional<z.ZodString>;
3332
+ }, "strip", z.ZodTypeAny, {
3333
+ deviceId: string;
3334
+ amountKobo: number;
3335
+ installId: string;
3336
+ perTxCapKobo?: number | undefined;
3337
+ ttlMs?: number | undefined;
3338
+ partnerId?: string | undefined;
3339
+ }, {
3340
+ deviceId: string;
3341
+ amountKobo: number;
3342
+ installId: string;
3343
+ perTxCapKobo?: number | undefined;
3344
+ ttlMs?: number | undefined;
3345
+ partnerId?: string | undefined;
3346
+ }>;
3347
+ type ProvisionOfflineAllowanceInput = EnableOfflineInput;
3148
3348
  declare const DisableOfflineInputSchema: z.ZodObject<{
3149
3349
  deviceId: z.ZodString;
3150
3350
  installId: z.ZodOptional<z.ZodString>;
@@ -3198,27 +3398,314 @@ declare const OfflineHoldRecordSchema: z.ZodObject<{
3198
3398
  closedAtMs: number | null;
3199
3399
  isTrusted?: boolean | undefined;
3200
3400
  }, {
3201
- status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3202
- userId: string;
3203
- deviceId: string;
3204
- currency: string;
3205
- createdAtMs: number;
3206
- amountKobo: number;
3207
- holdId: string;
3208
- installId: string | null;
3209
- partnerId: string;
3210
- adapterKind: string;
3211
- externalHoldRef: string | null;
3212
- capturedKobo: number;
3213
- releasedKobo: number;
3214
- remainingKobo: number;
3215
- drainDeadlineMs: number;
3216
- disableRequestedAtMs: number | null;
3217
- closedAtMs: number | null;
3218
- isTrusted?: boolean | undefined;
3401
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3402
+ userId: string;
3403
+ deviceId: string;
3404
+ currency: string;
3405
+ createdAtMs: number;
3406
+ amountKobo: number;
3407
+ holdId: string;
3408
+ installId: string | null;
3409
+ partnerId: string;
3410
+ adapterKind: string;
3411
+ externalHoldRef: string | null;
3412
+ capturedKobo: number;
3413
+ releasedKobo: number;
3414
+ remainingKobo: number;
3415
+ drainDeadlineMs: number;
3416
+ disableRequestedAtMs: number | null;
3417
+ closedAtMs: number | null;
3418
+ isTrusted?: boolean | undefined;
3419
+ }>;
3420
+ type OfflineHoldRecord = z.infer<typeof OfflineHoldRecordSchema>;
3421
+ declare const EnableOfflineResultSchema: z.ZodObject<{
3422
+ hold: z.ZodObject<{
3423
+ holdId: z.ZodString;
3424
+ userId: z.ZodString;
3425
+ deviceId: z.ZodString;
3426
+ partnerId: z.ZodString;
3427
+ adapterKind: z.ZodString;
3428
+ externalHoldRef: z.ZodNullable<z.ZodString>;
3429
+ amountKobo: z.ZodNumber;
3430
+ capturedKobo: z.ZodNumber;
3431
+ releasedKobo: z.ZodNumber;
3432
+ remainingKobo: z.ZodNumber;
3433
+ currency: z.ZodString;
3434
+ status: z.ZodEnum<["placing", "active", "disabling", "draining", "closed", "revoked", "failed"]>;
3435
+ installId: z.ZodNullable<z.ZodString>;
3436
+ drainDeadlineMs: z.ZodNumber;
3437
+ disableRequestedAtMs: z.ZodNullable<z.ZodNumber>;
3438
+ createdAtMs: z.ZodNumber;
3439
+ closedAtMs: z.ZodNullable<z.ZodNumber>;
3440
+ isTrusted: z.ZodOptional<z.ZodBoolean>;
3441
+ }, "strip", z.ZodTypeAny, {
3442
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3443
+ userId: string;
3444
+ deviceId: string;
3445
+ currency: string;
3446
+ createdAtMs: number;
3447
+ amountKobo: number;
3448
+ holdId: string;
3449
+ installId: string | null;
3450
+ partnerId: string;
3451
+ adapterKind: string;
3452
+ externalHoldRef: string | null;
3453
+ capturedKobo: number;
3454
+ releasedKobo: number;
3455
+ remainingKobo: number;
3456
+ drainDeadlineMs: number;
3457
+ disableRequestedAtMs: number | null;
3458
+ closedAtMs: number | null;
3459
+ isTrusted?: boolean | undefined;
3460
+ }, {
3461
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3462
+ userId: string;
3463
+ deviceId: string;
3464
+ currency: string;
3465
+ createdAtMs: number;
3466
+ amountKobo: number;
3467
+ holdId: string;
3468
+ installId: string | null;
3469
+ partnerId: string;
3470
+ adapterKind: string;
3471
+ externalHoldRef: string | null;
3472
+ capturedKobo: number;
3473
+ releasedKobo: number;
3474
+ remainingKobo: number;
3475
+ drainDeadlineMs: number;
3476
+ disableRequestedAtMs: number | null;
3477
+ closedAtMs: number | null;
3478
+ isTrusted?: boolean | undefined;
3479
+ }>;
3480
+ oac: z.ZodObject<{
3481
+ oac: z.ZodEffects<z.ZodObject<{
3482
+ oacId: z.ZodString;
3483
+ issuerId: z.ZodString;
3484
+ userId: z.ZodString;
3485
+ deviceId: z.ZodString;
3486
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
3487
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
3488
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
3489
+ perTxCapKobo: z.ZodNumber;
3490
+ cumulativeCapKobo: z.ZodNumber;
3491
+ currency: z.ZodString;
3492
+ validFromMs: z.ZodNumber;
3493
+ validUntilMs: z.ZodNumber;
3494
+ counterSeed: z.ZodNumber;
3495
+ issuedAtMs: z.ZodNumber;
3496
+ }, "strip", z.ZodTypeAny, {
3497
+ userId: string;
3498
+ deviceId: string;
3499
+ currency: string;
3500
+ perTxCapKobo: number;
3501
+ cumulativeCapKobo: number;
3502
+ validFromMs: number;
3503
+ validUntilMs: number;
3504
+ counterSeed: number;
3505
+ issuedAtMs: number;
3506
+ issuerId: string;
3507
+ oacId: string;
3508
+ alg?: "ed25519" | "p256" | undefined;
3509
+ devicePubkeyHex?: string | undefined;
3510
+ devicePubkeySpkiB64?: string | undefined;
3511
+ }, {
3512
+ userId: string;
3513
+ deviceId: string;
3514
+ currency: string;
3515
+ perTxCapKobo: number;
3516
+ cumulativeCapKobo: number;
3517
+ validFromMs: number;
3518
+ validUntilMs: number;
3519
+ counterSeed: number;
3520
+ issuedAtMs: number;
3521
+ issuerId: string;
3522
+ oacId: string;
3523
+ alg?: "ed25519" | "p256" | undefined;
3524
+ devicePubkeyHex?: string | undefined;
3525
+ devicePubkeySpkiB64?: string | undefined;
3526
+ }>, {
3527
+ userId: string;
3528
+ deviceId: string;
3529
+ currency: string;
3530
+ perTxCapKobo: number;
3531
+ cumulativeCapKobo: number;
3532
+ validFromMs: number;
3533
+ validUntilMs: number;
3534
+ counterSeed: number;
3535
+ issuedAtMs: number;
3536
+ issuerId: string;
3537
+ oacId: string;
3538
+ alg?: "ed25519" | "p256" | undefined;
3539
+ devicePubkeyHex?: string | undefined;
3540
+ devicePubkeySpkiB64?: string | undefined;
3541
+ }, {
3542
+ userId: string;
3543
+ deviceId: string;
3544
+ currency: string;
3545
+ perTxCapKobo: number;
3546
+ cumulativeCapKobo: number;
3547
+ validFromMs: number;
3548
+ validUntilMs: number;
3549
+ counterSeed: number;
3550
+ issuedAtMs: number;
3551
+ issuerId: string;
3552
+ oacId: string;
3553
+ alg?: "ed25519" | "p256" | undefined;
3554
+ devicePubkeyHex?: string | undefined;
3555
+ devicePubkeySpkiB64?: string | undefined;
3556
+ }>;
3557
+ issuerSig: z.ZodString;
3558
+ issuerPublicKeyHex: z.ZodString;
3559
+ } & {
3560
+ currentOfflineSpentKobo: z.ZodNumber;
3561
+ status: z.ZodEnum<["active", "superseded", "expired", "revoked", "disabling", "draining", "closed"]>;
3562
+ supersededAtMs: z.ZodNullable<z.ZodNumber>;
3563
+ revokedAtMs: z.ZodNullable<z.ZodNumber>;
3564
+ holdId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3565
+ }, "strip", z.ZodTypeAny, {
3566
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3567
+ issuerSig: string;
3568
+ revokedAtMs: number | null;
3569
+ oac: {
3570
+ userId: string;
3571
+ deviceId: string;
3572
+ currency: string;
3573
+ perTxCapKobo: number;
3574
+ cumulativeCapKobo: number;
3575
+ validFromMs: number;
3576
+ validUntilMs: number;
3577
+ counterSeed: number;
3578
+ issuedAtMs: number;
3579
+ issuerId: string;
3580
+ oacId: string;
3581
+ alg?: "ed25519" | "p256" | undefined;
3582
+ devicePubkeyHex?: string | undefined;
3583
+ devicePubkeySpkiB64?: string | undefined;
3584
+ };
3585
+ issuerPublicKeyHex: string;
3586
+ currentOfflineSpentKobo: number;
3587
+ supersededAtMs: number | null;
3588
+ holdId?: string | null | undefined;
3589
+ }, {
3590
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3591
+ issuerSig: string;
3592
+ revokedAtMs: number | null;
3593
+ oac: {
3594
+ userId: string;
3595
+ deviceId: string;
3596
+ currency: string;
3597
+ perTxCapKobo: number;
3598
+ cumulativeCapKobo: number;
3599
+ validFromMs: number;
3600
+ validUntilMs: number;
3601
+ counterSeed: number;
3602
+ issuedAtMs: number;
3603
+ issuerId: string;
3604
+ oacId: string;
3605
+ alg?: "ed25519" | "p256" | undefined;
3606
+ devicePubkeyHex?: string | undefined;
3607
+ devicePubkeySpkiB64?: string | undefined;
3608
+ };
3609
+ issuerPublicKeyHex: string;
3610
+ currentOfflineSpentKobo: number;
3611
+ supersededAtMs: number | null;
3612
+ holdId?: string | null | undefined;
3613
+ }>;
3614
+ }, "strip", z.ZodTypeAny, {
3615
+ oac: {
3616
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3617
+ issuerSig: string;
3618
+ revokedAtMs: number | null;
3619
+ oac: {
3620
+ userId: string;
3621
+ deviceId: string;
3622
+ currency: string;
3623
+ perTxCapKobo: number;
3624
+ cumulativeCapKobo: number;
3625
+ validFromMs: number;
3626
+ validUntilMs: number;
3627
+ counterSeed: number;
3628
+ issuedAtMs: number;
3629
+ issuerId: string;
3630
+ oacId: string;
3631
+ alg?: "ed25519" | "p256" | undefined;
3632
+ devicePubkeyHex?: string | undefined;
3633
+ devicePubkeySpkiB64?: string | undefined;
3634
+ };
3635
+ issuerPublicKeyHex: string;
3636
+ currentOfflineSpentKobo: number;
3637
+ supersededAtMs: number | null;
3638
+ holdId?: string | null | undefined;
3639
+ };
3640
+ hold: {
3641
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3642
+ userId: string;
3643
+ deviceId: string;
3644
+ currency: string;
3645
+ createdAtMs: number;
3646
+ amountKobo: number;
3647
+ holdId: string;
3648
+ installId: string | null;
3649
+ partnerId: string;
3650
+ adapterKind: string;
3651
+ externalHoldRef: string | null;
3652
+ capturedKobo: number;
3653
+ releasedKobo: number;
3654
+ remainingKobo: number;
3655
+ drainDeadlineMs: number;
3656
+ disableRequestedAtMs: number | null;
3657
+ closedAtMs: number | null;
3658
+ isTrusted?: boolean | undefined;
3659
+ };
3660
+ }, {
3661
+ oac: {
3662
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3663
+ issuerSig: string;
3664
+ revokedAtMs: number | null;
3665
+ oac: {
3666
+ userId: string;
3667
+ deviceId: string;
3668
+ currency: string;
3669
+ perTxCapKobo: number;
3670
+ cumulativeCapKobo: number;
3671
+ validFromMs: number;
3672
+ validUntilMs: number;
3673
+ counterSeed: number;
3674
+ issuedAtMs: number;
3675
+ issuerId: string;
3676
+ oacId: string;
3677
+ alg?: "ed25519" | "p256" | undefined;
3678
+ devicePubkeyHex?: string | undefined;
3679
+ devicePubkeySpkiB64?: string | undefined;
3680
+ };
3681
+ issuerPublicKeyHex: string;
3682
+ currentOfflineSpentKobo: number;
3683
+ supersededAtMs: number | null;
3684
+ holdId?: string | null | undefined;
3685
+ };
3686
+ hold: {
3687
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3688
+ userId: string;
3689
+ deviceId: string;
3690
+ currency: string;
3691
+ createdAtMs: number;
3692
+ amountKobo: number;
3693
+ holdId: string;
3694
+ installId: string | null;
3695
+ partnerId: string;
3696
+ adapterKind: string;
3697
+ externalHoldRef: string | null;
3698
+ capturedKobo: number;
3699
+ releasedKobo: number;
3700
+ remainingKobo: number;
3701
+ drainDeadlineMs: number;
3702
+ disableRequestedAtMs: number | null;
3703
+ closedAtMs: number | null;
3704
+ isTrusted?: boolean | undefined;
3705
+ };
3219
3706
  }>;
3220
- type OfflineHoldRecord = z.infer<typeof OfflineHoldRecordSchema>;
3221
- declare const EnableOfflineResultSchema: z.ZodObject<{
3707
+ type EnableOfflineResult = z.infer<typeof EnableOfflineResultSchema>;
3708
+ declare const ProvisionOfflineAllowanceResultSchema: z.ZodObject<{
3222
3709
  hold: z.ZodObject<{
3223
3710
  holdId: z.ZodString;
3224
3711
  userId: z.ZodString;
@@ -3278,12 +3765,14 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3278
3765
  isTrusted?: boolean | undefined;
3279
3766
  }>;
3280
3767
  oac: z.ZodObject<{
3281
- oac: z.ZodObject<{
3768
+ oac: z.ZodEffects<z.ZodObject<{
3282
3769
  oacId: z.ZodString;
3283
3770
  issuerId: z.ZodString;
3284
3771
  userId: z.ZodString;
3285
3772
  deviceId: z.ZodString;
3286
- devicePubkeyHex: z.ZodString;
3773
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
3774
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
3775
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
3287
3776
  perTxCapKobo: z.ZodNumber;
3288
3777
  cumulativeCapKobo: z.ZodNumber;
3289
3778
  currency: z.ZodString;
@@ -3303,7 +3792,39 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3303
3792
  issuedAtMs: number;
3304
3793
  issuerId: string;
3305
3794
  oacId: string;
3306
- devicePubkeyHex: string;
3795
+ alg?: "ed25519" | "p256" | undefined;
3796
+ devicePubkeyHex?: string | undefined;
3797
+ devicePubkeySpkiB64?: string | undefined;
3798
+ }, {
3799
+ userId: string;
3800
+ deviceId: string;
3801
+ currency: string;
3802
+ perTxCapKobo: number;
3803
+ cumulativeCapKobo: number;
3804
+ validFromMs: number;
3805
+ validUntilMs: number;
3806
+ counterSeed: number;
3807
+ issuedAtMs: number;
3808
+ issuerId: string;
3809
+ oacId: string;
3810
+ alg?: "ed25519" | "p256" | undefined;
3811
+ devicePubkeyHex?: string | undefined;
3812
+ devicePubkeySpkiB64?: string | undefined;
3813
+ }>, {
3814
+ userId: string;
3815
+ deviceId: string;
3816
+ currency: string;
3817
+ perTxCapKobo: number;
3818
+ cumulativeCapKobo: number;
3819
+ validFromMs: number;
3820
+ validUntilMs: number;
3821
+ counterSeed: number;
3822
+ issuedAtMs: number;
3823
+ issuerId: string;
3824
+ oacId: string;
3825
+ alg?: "ed25519" | "p256" | undefined;
3826
+ devicePubkeyHex?: string | undefined;
3827
+ devicePubkeySpkiB64?: string | undefined;
3307
3828
  }, {
3308
3829
  userId: string;
3309
3830
  deviceId: string;
@@ -3316,7 +3837,9 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3316
3837
  issuedAtMs: number;
3317
3838
  issuerId: string;
3318
3839
  oacId: string;
3319
- devicePubkeyHex: string;
3840
+ alg?: "ed25519" | "p256" | undefined;
3841
+ devicePubkeyHex?: string | undefined;
3842
+ devicePubkeySpkiB64?: string | undefined;
3320
3843
  }>;
3321
3844
  issuerSig: z.ZodString;
3322
3845
  issuerPublicKeyHex: z.ZodString;
@@ -3342,7 +3865,9 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3342
3865
  issuedAtMs: number;
3343
3866
  issuerId: string;
3344
3867
  oacId: string;
3345
- devicePubkeyHex: string;
3868
+ alg?: "ed25519" | "p256" | undefined;
3869
+ devicePubkeyHex?: string | undefined;
3870
+ devicePubkeySpkiB64?: string | undefined;
3346
3871
  };
3347
3872
  issuerPublicKeyHex: string;
3348
3873
  currentOfflineSpentKobo: number;
@@ -3364,7 +3889,9 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3364
3889
  issuedAtMs: number;
3365
3890
  issuerId: string;
3366
3891
  oacId: string;
3367
- devicePubkeyHex: string;
3892
+ alg?: "ed25519" | "p256" | undefined;
3893
+ devicePubkeyHex?: string | undefined;
3894
+ devicePubkeySpkiB64?: string | undefined;
3368
3895
  };
3369
3896
  issuerPublicKeyHex: string;
3370
3897
  currentOfflineSpentKobo: number;
@@ -3388,7 +3915,9 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3388
3915
  issuedAtMs: number;
3389
3916
  issuerId: string;
3390
3917
  oacId: string;
3391
- devicePubkeyHex: string;
3918
+ alg?: "ed25519" | "p256" | undefined;
3919
+ devicePubkeyHex?: string | undefined;
3920
+ devicePubkeySpkiB64?: string | undefined;
3392
3921
  };
3393
3922
  issuerPublicKeyHex: string;
3394
3923
  currentOfflineSpentKobo: number;
@@ -3432,7 +3961,9 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3432
3961
  issuedAtMs: number;
3433
3962
  issuerId: string;
3434
3963
  oacId: string;
3435
- devicePubkeyHex: string;
3964
+ alg?: "ed25519" | "p256" | undefined;
3965
+ devicePubkeyHex?: string | undefined;
3966
+ devicePubkeySpkiB64?: string | undefined;
3436
3967
  };
3437
3968
  issuerPublicKeyHex: string;
3438
3969
  currentOfflineSpentKobo: number;
@@ -3460,7 +3991,7 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
3460
3991
  isTrusted?: boolean | undefined;
3461
3992
  };
3462
3993
  }>;
3463
- type EnableOfflineResult = z.infer<typeof EnableOfflineResultSchema>;
3994
+ type ProvisionOfflineAllowanceResult = EnableOfflineResult;
3464
3995
  declare const DisableOfflineResultSchema: z.ZodObject<{
3465
3996
  hold: z.ZodObject<{
3466
3997
  holdId: z.ZodString;
@@ -3630,12 +4161,14 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3630
4161
  isTrusted?: boolean | undefined;
3631
4162
  }>>;
3632
4163
  active: z.ZodNullable<z.ZodObject<{
3633
- oac: z.ZodObject<{
4164
+ oac: z.ZodEffects<z.ZodObject<{
3634
4165
  oacId: z.ZodString;
3635
4166
  issuerId: z.ZodString;
3636
4167
  userId: z.ZodString;
3637
4168
  deviceId: z.ZodString;
3638
- devicePubkeyHex: z.ZodString;
4169
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
4170
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
4171
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
3639
4172
  perTxCapKobo: z.ZodNumber;
3640
4173
  cumulativeCapKobo: z.ZodNumber;
3641
4174
  currency: z.ZodString;
@@ -3655,7 +4188,39 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3655
4188
  issuedAtMs: number;
3656
4189
  issuerId: string;
3657
4190
  oacId: string;
3658
- devicePubkeyHex: string;
4191
+ alg?: "ed25519" | "p256" | undefined;
4192
+ devicePubkeyHex?: string | undefined;
4193
+ devicePubkeySpkiB64?: string | undefined;
4194
+ }, {
4195
+ userId: string;
4196
+ deviceId: string;
4197
+ currency: string;
4198
+ perTxCapKobo: number;
4199
+ cumulativeCapKobo: number;
4200
+ validFromMs: number;
4201
+ validUntilMs: number;
4202
+ counterSeed: number;
4203
+ issuedAtMs: number;
4204
+ issuerId: string;
4205
+ oacId: string;
4206
+ alg?: "ed25519" | "p256" | undefined;
4207
+ devicePubkeyHex?: string | undefined;
4208
+ devicePubkeySpkiB64?: string | undefined;
4209
+ }>, {
4210
+ userId: string;
4211
+ deviceId: string;
4212
+ currency: string;
4213
+ perTxCapKobo: number;
4214
+ cumulativeCapKobo: number;
4215
+ validFromMs: number;
4216
+ validUntilMs: number;
4217
+ counterSeed: number;
4218
+ issuedAtMs: number;
4219
+ issuerId: string;
4220
+ oacId: string;
4221
+ alg?: "ed25519" | "p256" | undefined;
4222
+ devicePubkeyHex?: string | undefined;
4223
+ devicePubkeySpkiB64?: string | undefined;
3659
4224
  }, {
3660
4225
  userId: string;
3661
4226
  deviceId: string;
@@ -3668,7 +4233,9 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3668
4233
  issuedAtMs: number;
3669
4234
  issuerId: string;
3670
4235
  oacId: string;
3671
- devicePubkeyHex: string;
4236
+ alg?: "ed25519" | "p256" | undefined;
4237
+ devicePubkeyHex?: string | undefined;
4238
+ devicePubkeySpkiB64?: string | undefined;
3672
4239
  }>;
3673
4240
  issuerSig: z.ZodString;
3674
4241
  issuerPublicKeyHex: z.ZodString;
@@ -3694,7 +4261,9 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3694
4261
  issuedAtMs: number;
3695
4262
  issuerId: string;
3696
4263
  oacId: string;
3697
- devicePubkeyHex: string;
4264
+ alg?: "ed25519" | "p256" | undefined;
4265
+ devicePubkeyHex?: string | undefined;
4266
+ devicePubkeySpkiB64?: string | undefined;
3698
4267
  };
3699
4268
  issuerPublicKeyHex: string;
3700
4269
  currentOfflineSpentKobo: number;
@@ -3716,7 +4285,9 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3716
4285
  issuedAtMs: number;
3717
4286
  issuerId: string;
3718
4287
  oacId: string;
3719
- devicePubkeyHex: string;
4288
+ alg?: "ed25519" | "p256" | undefined;
4289
+ devicePubkeyHex?: string | undefined;
4290
+ devicePubkeySpkiB64?: string | undefined;
3720
4291
  };
3721
4292
  issuerPublicKeyHex: string;
3722
4293
  currentOfflineSpentKobo: number;
@@ -3740,7 +4311,9 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3740
4311
  issuedAtMs: number;
3741
4312
  issuerId: string;
3742
4313
  oacId: string;
3743
- devicePubkeyHex: string;
4314
+ alg?: "ed25519" | "p256" | undefined;
4315
+ devicePubkeyHex?: string | undefined;
4316
+ devicePubkeySpkiB64?: string | undefined;
3744
4317
  };
3745
4318
  issuerPublicKeyHex: string;
3746
4319
  currentOfflineSpentKobo: number;
@@ -3784,7 +4357,9 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3784
4357
  issuedAtMs: number;
3785
4358
  issuerId: string;
3786
4359
  oacId: string;
3787
- devicePubkeyHex: string;
4360
+ alg?: "ed25519" | "p256" | undefined;
4361
+ devicePubkeyHex?: string | undefined;
4362
+ devicePubkeySpkiB64?: string | undefined;
3788
4363
  };
3789
4364
  issuerPublicKeyHex: string;
3790
4365
  currentOfflineSpentKobo: number;
@@ -3815,12 +4390,14 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3815
4390
  type OfflineStatusResult = z.infer<typeof OfflineStatusResultSchema>;
3816
4391
  declare const OfflineStateResultSchema: z.ZodObject<{
3817
4392
  active: z.ZodNullable<z.ZodObject<{
3818
- oac: z.ZodObject<{
4393
+ oac: z.ZodEffects<z.ZodObject<{
3819
4394
  oacId: z.ZodString;
3820
4395
  issuerId: z.ZodString;
3821
4396
  userId: z.ZodString;
3822
4397
  deviceId: z.ZodString;
3823
- devicePubkeyHex: z.ZodString;
4398
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
4399
+ devicePubkeyHex: z.ZodOptional<z.ZodString>;
4400
+ devicePubkeySpkiB64: z.ZodOptional<z.ZodString>;
3824
4401
  perTxCapKobo: z.ZodNumber;
3825
4402
  cumulativeCapKobo: z.ZodNumber;
3826
4403
  currency: z.ZodString;
@@ -3840,7 +4417,39 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3840
4417
  issuedAtMs: number;
3841
4418
  issuerId: string;
3842
4419
  oacId: string;
3843
- devicePubkeyHex: string;
4420
+ alg?: "ed25519" | "p256" | undefined;
4421
+ devicePubkeyHex?: string | undefined;
4422
+ devicePubkeySpkiB64?: string | undefined;
4423
+ }, {
4424
+ userId: string;
4425
+ deviceId: string;
4426
+ currency: string;
4427
+ perTxCapKobo: number;
4428
+ cumulativeCapKobo: number;
4429
+ validFromMs: number;
4430
+ validUntilMs: number;
4431
+ counterSeed: number;
4432
+ issuedAtMs: number;
4433
+ issuerId: string;
4434
+ oacId: string;
4435
+ alg?: "ed25519" | "p256" | undefined;
4436
+ devicePubkeyHex?: string | undefined;
4437
+ devicePubkeySpkiB64?: string | undefined;
4438
+ }>, {
4439
+ userId: string;
4440
+ deviceId: string;
4441
+ currency: string;
4442
+ perTxCapKobo: number;
4443
+ cumulativeCapKobo: number;
4444
+ validFromMs: number;
4445
+ validUntilMs: number;
4446
+ counterSeed: number;
4447
+ issuedAtMs: number;
4448
+ issuerId: string;
4449
+ oacId: string;
4450
+ alg?: "ed25519" | "p256" | undefined;
4451
+ devicePubkeyHex?: string | undefined;
4452
+ devicePubkeySpkiB64?: string | undefined;
3844
4453
  }, {
3845
4454
  userId: string;
3846
4455
  deviceId: string;
@@ -3853,7 +4462,9 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3853
4462
  issuedAtMs: number;
3854
4463
  issuerId: string;
3855
4464
  oacId: string;
3856
- devicePubkeyHex: string;
4465
+ alg?: "ed25519" | "p256" | undefined;
4466
+ devicePubkeyHex?: string | undefined;
4467
+ devicePubkeySpkiB64?: string | undefined;
3857
4468
  }>;
3858
4469
  issuerSig: z.ZodString;
3859
4470
  issuerPublicKeyHex: z.ZodString;
@@ -3879,7 +4490,9 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3879
4490
  issuedAtMs: number;
3880
4491
  issuerId: string;
3881
4492
  oacId: string;
3882
- devicePubkeyHex: string;
4493
+ alg?: "ed25519" | "p256" | undefined;
4494
+ devicePubkeyHex?: string | undefined;
4495
+ devicePubkeySpkiB64?: string | undefined;
3883
4496
  };
3884
4497
  issuerPublicKeyHex: string;
3885
4498
  currentOfflineSpentKobo: number;
@@ -3901,7 +4514,9 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3901
4514
  issuedAtMs: number;
3902
4515
  issuerId: string;
3903
4516
  oacId: string;
3904
- devicePubkeyHex: string;
4517
+ alg?: "ed25519" | "p256" | undefined;
4518
+ devicePubkeyHex?: string | undefined;
4519
+ devicePubkeySpkiB64?: string | undefined;
3905
4520
  };
3906
4521
  issuerPublicKeyHex: string;
3907
4522
  currentOfflineSpentKobo: number;
@@ -3925,7 +4540,9 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3925
4540
  issuedAtMs: number;
3926
4541
  issuerId: string;
3927
4542
  oacId: string;
3928
- devicePubkeyHex: string;
4543
+ alg?: "ed25519" | "p256" | undefined;
4544
+ devicePubkeyHex?: string | undefined;
4545
+ devicePubkeySpkiB64?: string | undefined;
3929
4546
  };
3930
4547
  issuerPublicKeyHex: string;
3931
4548
  currentOfflineSpentKobo: number;
@@ -3949,7 +4566,9 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3949
4566
  issuedAtMs: number;
3950
4567
  issuerId: string;
3951
4568
  oacId: string;
3952
- devicePubkeyHex: string;
4569
+ alg?: "ed25519" | "p256" | undefined;
4570
+ devicePubkeyHex?: string | undefined;
4571
+ devicePubkeySpkiB64?: string | undefined;
3953
4572
  };
3954
4573
  issuerPublicKeyHex: string;
3955
4574
  currentOfflineSpentKobo: number;
@@ -3958,7 +4577,9 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3958
4577
  } | null;
3959
4578
  }>;
3960
4579
  type OfflineStateResult = z.infer<typeof OfflineStateResultSchema>;
3961
- declare const ConsumerPaymentClaimSchema: z.ZodObject<{
4580
+ declare const ConsumerPaymentClaimSchema: z.ZodEffects<z.ZodObject<{
4581
+ /** Algorithm discriminator. Omit / 'ed25519' for V1 clients. */
4582
+ alg: z.ZodOptional<z.ZodEnum<["ed25519", "p256"]>>;
3962
4583
  oacId: z.ZodString;
3963
4584
  encounterId: z.ZodOptional<z.ZodString>;
3964
4585
  payerUserId: z.ZodString;
@@ -3971,10 +4592,14 @@ declare const ConsumerPaymentClaimSchema: z.ZodObject<{
3971
4592
  occurredAtMs: z.ZodNumber;
3972
4593
  completedAtMs: z.ZodOptional<z.ZodNumber>;
3973
4594
  contextId: z.ZodOptional<z.ZodString>;
3974
- payerPubkeyHex: z.ZodString;
3975
- payerSignature: z.ZodString;
4595
+ payerPubkeyHex: z.ZodOptional<z.ZodString>;
4596
+ payerSignature: z.ZodOptional<z.ZodString>;
3976
4597
  payeePubkeyHex: z.ZodOptional<z.ZodString>;
3977
4598
  payeeSignature: z.ZodOptional<z.ZodString>;
4599
+ payerPubkeySpkiB64: z.ZodOptional<z.ZodString>;
4600
+ payerSignatureDerB64: z.ZodOptional<z.ZodString>;
4601
+ payeePubkeySpkiB64: z.ZodOptional<z.ZodString>;
4602
+ payeeSignatureDerB64: z.ZodOptional<z.ZodString>;
3978
4603
  }, "strip", z.ZodTypeAny, {
3979
4604
  currency: string;
3980
4605
  amountKobo: number;
@@ -3983,15 +4608,64 @@ declare const ConsumerPaymentClaimSchema: z.ZodObject<{
3983
4608
  payerNonce: string;
3984
4609
  payeeNonce: string;
3985
4610
  occurredAtMs: number;
3986
- payerSignature: string;
3987
4611
  oacId: string;
3988
4612
  payerDeviceId: string;
3989
- payerPubkeyHex: string;
3990
4613
  encounterId?: string | undefined;
3991
4614
  completedAtMs?: number | undefined;
3992
4615
  contextId?: string | undefined;
4616
+ payerSignature?: string | undefined;
3993
4617
  payeeSignature?: string | undefined;
4618
+ alg?: "ed25519" | "p256" | undefined;
4619
+ payerPubkeyHex?: string | undefined;
3994
4620
  payeePubkeyHex?: string | undefined;
4621
+ payerPubkeySpkiB64?: string | undefined;
4622
+ payerSignatureDerB64?: string | undefined;
4623
+ payeePubkeySpkiB64?: string | undefined;
4624
+ payeeSignatureDerB64?: string | undefined;
4625
+ }, {
4626
+ amountKobo: number;
4627
+ payerUserId: string;
4628
+ payeeUserId: string;
4629
+ payerNonce: string;
4630
+ payeeNonce: string;
4631
+ occurredAtMs: number;
4632
+ oacId: string;
4633
+ payerDeviceId: string;
4634
+ currency?: string | undefined;
4635
+ encounterId?: string | undefined;
4636
+ completedAtMs?: number | undefined;
4637
+ contextId?: string | undefined;
4638
+ payerSignature?: string | undefined;
4639
+ payeeSignature?: string | undefined;
4640
+ alg?: "ed25519" | "p256" | undefined;
4641
+ payerPubkeyHex?: string | undefined;
4642
+ payeePubkeyHex?: string | undefined;
4643
+ payerPubkeySpkiB64?: string | undefined;
4644
+ payerSignatureDerB64?: string | undefined;
4645
+ payeePubkeySpkiB64?: string | undefined;
4646
+ payeeSignatureDerB64?: string | undefined;
4647
+ }>, {
4648
+ currency: string;
4649
+ amountKobo: number;
4650
+ payerUserId: string;
4651
+ payeeUserId: string;
4652
+ payerNonce: string;
4653
+ payeeNonce: string;
4654
+ occurredAtMs: number;
4655
+ oacId: string;
4656
+ payerDeviceId: string;
4657
+ encounterId?: string | undefined;
4658
+ completedAtMs?: number | undefined;
4659
+ contextId?: string | undefined;
4660
+ payerSignature?: string | undefined;
4661
+ payeeSignature?: string | undefined;
4662
+ alg?: "ed25519" | "p256" | undefined;
4663
+ payerPubkeyHex?: string | undefined;
4664
+ payeePubkeyHex?: string | undefined;
4665
+ payerPubkeySpkiB64?: string | undefined;
4666
+ payerSignatureDerB64?: string | undefined;
4667
+ payeePubkeySpkiB64?: string | undefined;
4668
+ payeeSignatureDerB64?: string | undefined;
3995
4669
  }, {
3996
4670
  amountKobo: number;
3997
4671
  payerUserId: string;
@@ -3999,16 +4673,21 @@ declare const ConsumerPaymentClaimSchema: z.ZodObject<{
3999
4673
  payerNonce: string;
4000
4674
  payeeNonce: string;
4001
4675
  occurredAtMs: number;
4002
- payerSignature: string;
4003
4676
  oacId: string;
4004
4677
  payerDeviceId: string;
4005
- payerPubkeyHex: string;
4006
4678
  currency?: string | undefined;
4007
4679
  encounterId?: string | undefined;
4008
4680
  completedAtMs?: number | undefined;
4009
4681
  contextId?: string | undefined;
4682
+ payerSignature?: string | undefined;
4010
4683
  payeeSignature?: string | undefined;
4684
+ alg?: "ed25519" | "p256" | undefined;
4685
+ payerPubkeyHex?: string | undefined;
4011
4686
  payeePubkeyHex?: string | undefined;
4687
+ payerPubkeySpkiB64?: string | undefined;
4688
+ payerSignatureDerB64?: string | undefined;
4689
+ payeePubkeySpkiB64?: string | undefined;
4690
+ payeeSignatureDerB64?: string | undefined;
4012
4691
  }>;
4013
4692
  type ConsumerPaymentClaim = z.infer<typeof ConsumerPaymentClaimSchema>;
4014
4693
  declare const ConsumerSettlementSchema: z.ZodObject<{
@@ -4158,10 +4837,13 @@ type MeOfflineClientOptions = {
4158
4837
  };
4159
4838
  type MeOfflineClient = {
4160
4839
  registerDeviceKey: (input: RegisterDeviceKeyInput) => Promise<DeviceKeyRecord>;
4840
+ issueP256EnrollmentChallenge: (input: P256EnrollmentChallengeInput) => Promise<P256EnrollmentChallengeResult>;
4841
+ registerDeviceKeyP256: (input: RegisterDeviceKeyP256Input) => Promise<DeviceKeyRecord>;
4161
4842
  listDeviceKeys: () => Promise<{
4162
4843
  items: DeviceKeyRecord[];
4163
4844
  }>;
4164
4845
  revokeDeviceKey: (input: RevokeDeviceKeyInput) => Promise<void>;
4846
+ provisionAllowance: (input: ProvisionOfflineAllowanceInput) => Promise<ProvisionOfflineAllowanceResult>;
4165
4847
  enable: (input: EnableOfflineInput) => Promise<EnableOfflineResult>;
4166
4848
  refresh: (input: IssueOACInput) => Promise<OACRecord>;
4167
4849
  disable: (input: DisableOfflineInput) => Promise<DisableOfflineResult>;
@@ -4171,6 +4853,138 @@ type MeOfflineClient = {
4171
4853
  };
4172
4854
  declare function createMeOfflineClient(opts: MeOfflineClientOptions): MeOfflineClient;
4173
4855
 
4856
+ /**
4857
+ * Offline-claim signer abstraction for Flur.
4858
+ *
4859
+ * Why this exists:
4860
+ * - Mobile clients sign payment claims with a hardware-backed P-256 key
4861
+ * (iOS Secure Enclave / Android Keystore StrongBox). Native modules
4862
+ * implement that custody, not this file.
4863
+ * - Server-side partners, test harnesses, and the historical Ed25519 path
4864
+ * need a *software* signer with the same surface so the SDK contract is
4865
+ * uniform.
4866
+ * - Both producers and verifiers (consumer mobile, partner backend, Flur
4867
+ * backend) must agree byte-for-byte on what gets signed. That's the job
4868
+ * of `canonicalClaimSigningPayload` / `canonicalClaimSigningBytes`.
4869
+ *
4870
+ * Wire format choices:
4871
+ * - Ed25519 (legacy v1): 32-byte public key hex, 64-byte signature hex.
4872
+ * - P-256 (v2, hardware-backed): SubjectPublicKeyInfo DER public key in
4873
+ * base64, ASN.1 DER ECDSA signature in base64. Same format the
4874
+ * Apple/Android native modules return.
4875
+ *
4876
+ * Domain separation:
4877
+ * - V2 payload binds `alg` and is tagged with `CLAIM_DOMAIN_V2`. A signature
4878
+ * over V2 bytes therefore can never be replayed against the V1 verifier
4879
+ * or vice versa. This is the cryptographic foundation of the alg-flag-day
4880
+ * migration plan.
4881
+ */
4882
+ /**
4883
+ * V2 canonical claim domain. Must match the backend's V2 verifier exactly.
4884
+ * Bumped from `flur:consumer-offline:v1:claim` so a payer's V2 hardware
4885
+ * signature is non-replayable against a legacy V1 verifier and vice-versa.
4886
+ */
4887
+ declare const CLAIM_DOMAIN_V2: "flur:consumer-offline:v2:claim";
4888
+ type OfflineClaimAlgorithm = 'ed25519' | 'p256';
4889
+ /**
4890
+ * Inputs the SDK accepts to build canonical signing bytes.
4891
+ *
4892
+ * Optional fields default to `null` inside the canonical payload, so callers
4893
+ * that omit them still produce stable, deterministic bytes.
4894
+ */
4895
+ interface CanonicalClaimInput {
4896
+ alg: OfflineClaimAlgorithm;
4897
+ oacId: string;
4898
+ payerUserId: string;
4899
+ payeeUserId: string;
4900
+ payerDeviceId: string;
4901
+ payerNonce: string;
4902
+ payeeNonce: string;
4903
+ amountKobo: number;
4904
+ currency: string;
4905
+ occurredAtMs: number;
4906
+ completedAtMs?: number | null;
4907
+ contextId?: string | null;
4908
+ }
4909
+ /** Public key + signature pair from a signer. Encoding depends on `alg`. */
4910
+ interface SignerPublicKey {
4911
+ alg: OfflineClaimAlgorithm;
4912
+ /**
4913
+ * For `ed25519`: 32-byte raw key, lowercase hex (64 chars).
4914
+ * For `p256`: SubjectPublicKeyInfo DER, base64.
4915
+ */
4916
+ publicKey: string;
4917
+ }
4918
+ interface ClaimSignature {
4919
+ alg: OfflineClaimAlgorithm;
4920
+ /**
4921
+ * For `ed25519`: 64-byte raw signature, lowercase hex (128 chars).
4922
+ * For `p256`: ASN.1 DER ECDSA signature, base64.
4923
+ */
4924
+ signature: string;
4925
+ }
4926
+ /** Abstract signer interface. Software and native impls both honour this. */
4927
+ interface OfflineClaimSigner {
4928
+ readonly alg: OfflineClaimAlgorithm;
4929
+ getPublicKey(): Promise<SignerPublicKey>;
4930
+ sign(bytes: Uint8Array): Promise<ClaimSignature>;
4931
+ }
4932
+ /**
4933
+ * The exact object that gets canonical-JSON-encoded and signed.
4934
+ *
4935
+ * Key ordering doesn't matter for the *output* because `canonicalJSONBytes`
4936
+ * sorts keys lexicographically — but the field SET and value normalization
4937
+ * must match the backend verifier byte-for-byte. Treat this function as the
4938
+ * cryptographic contract.
4939
+ */
4940
+ declare function canonicalClaimSigningPayload(claim: CanonicalClaimInput): {
4941
+ domain: typeof CLAIM_DOMAIN_V2;
4942
+ alg: OfflineClaimAlgorithm;
4943
+ oacId: string;
4944
+ payerUserId: string;
4945
+ payeeUserId: string;
4946
+ payerDeviceId: string;
4947
+ payerNonce: string;
4948
+ payeeNonce: string;
4949
+ amountKobo: number;
4950
+ currency: string;
4951
+ occurredAtMs: number;
4952
+ completedAtMs: number | null;
4953
+ contextId: string | null;
4954
+ };
4955
+ /** Bytes the signer must operate on. */
4956
+ declare function canonicalClaimSigningBytes(claim: CanonicalClaimInput): Uint8Array;
4957
+ /**
4958
+ * Legacy / test-only Ed25519 signer. NOT for production money on phones —
4959
+ * the on-device key is software and exfiltratable. Used by:
4960
+ * - the historical V1 backend path
4961
+ * - Node/server tests
4962
+ * - server-side partners that issue claims from their own backend
4963
+ */
4964
+ declare function createSoftwareEd25519Signer(privateKey: Uint8Array): OfflineClaimSigner;
4965
+ /**
4966
+ * Software P-256 signer. Useful for:
4967
+ * - test harnesses
4968
+ * - Node integrators that issue claims server-side (custodied wallets)
4969
+ * - simulators where Secure Enclave / StrongBox is unavailable
4970
+ *
4971
+ * The hardware-backed equivalent (mobile) implements the same interface
4972
+ * but defers key storage and signing to the OS secure element.
4973
+ */
4974
+ declare function createSoftwareP256Signer(privateKey: Uint8Array): OfflineClaimSigner;
4975
+ interface VerifyClaimSignatureInput {
4976
+ alg: OfflineClaimAlgorithm;
4977
+ bytes: Uint8Array;
4978
+ signature: string;
4979
+ publicKey: string;
4980
+ }
4981
+ /**
4982
+ * Verifier the backend, partners, and self-checks all share. Returns a plain
4983
+ * boolean — callers should treat `false` and thrown errors uniformly as
4984
+ * "not authenticated".
4985
+ */
4986
+ declare function verifyClaimSignature(input: VerifyClaimSignatureInput): boolean;
4987
+
4174
4988
  /**
4175
4989
  * Partner-funded wallet rails SDK.
4176
4990
  *
@@ -5674,17 +6488,17 @@ declare const IdentityArtifactSchema: z.ZodObject<{
5674
6488
  claimValueHash: z.ZodString;
5675
6489
  attestedAtMs: z.ZodNumber;
5676
6490
  }, "strip", z.ZodTypeAny, {
6491
+ attestedAtMs: number;
5677
6492
  attestationId: string;
5678
6493
  subjectId: string;
5679
6494
  claimType: "phone_verified" | "email_verified" | "bvn_verified" | "kyc_tier" | "age_band";
5680
6495
  claimValueHash: string;
5681
- attestedAtMs: number;
5682
6496
  }, {
6497
+ attestedAtMs: number;
5683
6498
  attestationId: string;
5684
6499
  subjectId: string;
5685
6500
  claimType: "phone_verified" | "email_verified" | "bvn_verified" | "kyc_tier" | "age_band";
5686
6501
  claimValueHash: string;
5687
- attestedAtMs: number;
5688
6502
  }>;
5689
6503
  declare const ARTIFACT_BODY_SCHEMAS: {
5690
6504
  readonly offline_payment_authorization: z.ZodObject<{
@@ -6314,17 +7128,17 @@ declare const ARTIFACT_BODY_SCHEMAS: {
6314
7128
  claimValueHash: z.ZodString;
6315
7129
  attestedAtMs: z.ZodNumber;
6316
7130
  }, "strip", z.ZodTypeAny, {
7131
+ attestedAtMs: number;
6317
7132
  attestationId: string;
6318
7133
  subjectId: string;
6319
7134
  claimType: "phone_verified" | "email_verified" | "bvn_verified" | "kyc_tier" | "age_band";
6320
7135
  claimValueHash: string;
6321
- attestedAtMs: number;
6322
7136
  }, {
7137
+ attestedAtMs: number;
6323
7138
  attestationId: string;
6324
7139
  subjectId: string;
6325
7140
  claimType: "phone_verified" | "email_verified" | "bvn_verified" | "kyc_tier" | "age_band";
6326
7141
  claimValueHash: string;
6327
- attestedAtMs: number;
6328
7142
  }>;
6329
7143
  };
6330
7144
  /** Artifact types whose body schema is fully specified and safe to dispatch. */
@@ -6444,4 +7258,4 @@ declare function createOfflinePaymentAuthorizationArtifactUri(input: {
6444
7258
  }>;
6445
7259
  };
6446
7260
 
6447
- export { ACCOUNT_STATUSES, ACCOUNT_TYPES, ADDITIONAL_DATA_SUBFIELD, ARTIFACT_BODY_SCHEMAS, ARTIFACT_TYPES, type Account, type AccountActivityItem, type AccountMembership, AccountMembershipSchema, AccountSchema, type AccountStatus, type AccountSummaryResponse, type AccountType, type AccountsClient, type AccountsClientOptions, type AddMemberInput, type AdditionalData, type ApiCredentialPublic, ApiCredentialPublicSchema, type ApiCredentialsAdminClient, type ArtifactBody, type ArtifactHeader, ArtifactHeaderSchema, type ArtifactType, type AtomicRedeemReceiptInput, type AtomicRedeemResponse, type AuthLogoutInput, type AuthRefreshInput, type AuthRefreshResponse, type AuthorizeSendWithBiometricInput, type AuthorizedOptions, type BiometricSigner, type BuildPassInput, type BuildReceiptInput, type BuildRedemptionInput, COLLECTION_INTENT_STATUSES, COLLECTION_PAYMENT_STATUSES, CUSTODIAL_MODES, type CashNamespace, type CollectionIntent, CollectionIntentSchema, type CollectionPayment, type CollectionPaymentResult, CollectionPaymentResultSchema, CollectionPaymentSchema, type CollectionReportSummary, CollectionReportSummarySchema, type CollectionStatement, CollectionStatementSchema, type CollectionsClient, type CollectionsClientOptions, type ConsumerCollectionsClient, type ConsumerOAC, type OACRecord as ConsumerOACRecord, OACRecordSchema as ConsumerOACRecordSchema, ConsumerOACSchema, type ConsumerPaymentClaim, ConsumerPaymentClaimSchema, type ConsumerSettleResult, ConsumerSettleResultSchema, type ConsumerSettlement, ConsumerSettlementSchema, type ConsumerWithdrawalsClient, type ConsumerWithdrawalsClientOptions, type CreateBusinessAccountInput, type CreateCollectionIntentInput, CreateCollectionIntentInputSchema, type CreatePayLinkResponse, type CreatePayoutDestinationInput, CreatePayoutDestinationInputSchema, type CreatePayoutInput, CreatePayoutInputSchema, type CreateTransferOptions, type CreateWithdrawalInput, CreateWithdrawalInputSchema, type CreateWithdrawalResult, CreateWithdrawalResultSchema, type CustodialMode, type DecodedArtifactUri, type DeviceKeyRecord, DeviceKeyRecordSchema, type DeviceTrustState, type DisableOfflineInput, DisableOfflineInputSchema, type DisableOfflineResult, DisableOfflineResultSchema, type Ed25519KeyPair, type EnableOfflineInput, EnableOfflineInputSchema, type EnableOfflineResult, EnableOfflineResultSchema, FIELD, FLUR_ARTIFACT_URI_PREFIX, FLUR_ARTIFACT_URI_SCHEME, FLUR_ARTIFACT_VERSION, FlurApiError, FlurArtifactError, FlurCapExceededError, FlurClient, type FlurClientOptions, FlurError, type FlurErrorCode, FlurExpiredError, type FlurHandle, type FlurInitOptions, type FlurOfflineSettlementsClient, type FlurPartnerClient, type FlurPaymentEvent, FlurReplayError, HARDENED_ARTIFACT_TYPES, type HmacFetchOptions, IdentityArtifactSchema, type IngestFundingResult, IngestFundingResultSchema, type IssueOACInput, IssueOACInputSchema, type IssueOfflineTokenInput, type IssuePassInput, type IssueReceiptInput, LedgerJournalEntryArtifactSchema, type ListPassesInput, type ListPassesResponse, type ListPayoutDestinationsResult, ListPayoutDestinationsResultSchema, type ListReceiptsInput, type ListReceiptsResponse, type ListTransactionsOptions, MEMBERSHIP_ROLES, MERCHANT_PAYOUT_STATUSES, MERCHANT_PROFILE_STATUSES, type MeOfflineClient, type MeOfflineClientOptions, type MembershipRole, type MerchantAccountInfo, type MerchantPayout, MerchantPayoutSchema, type MerchantProfile, MerchantProfileSchema, type MintedApiCredential, MintedApiCredentialSchema, type Money, NGN_CURRENCY_CODE, NG_COUNTRY_CODE, NQRParseError, type NQRPayloadInput, NqrPaymentRequestArtifactSchema, type OAC, OACSchema, OAC_DEFAULT_CUMULATIVE_KOBO, OAC_DEFAULT_PER_TX_KOBO, OAC_DEFAULT_VALIDITY_MS, OfflineClaimArtifactSchema, type OfflineHoldRecord, OfflineHoldRecordSchema, type OfflinePaymentAuthorization, type OfflinePaymentAuthorizationArtifact, OfflinePaymentAuthorizationArtifactSchema, OfflinePaymentAuthorizationSchema, type OfflinePaymentRequest, OfflinePaymentRequestSchema, type OfflineStateResult, OfflineStateResultSchema, type OfflineStatusResult, OfflineStatusResultSchema, type OfflineToken, OfflineTokenSchema, type OnboardingCompleteInput, type OnboardingCompleteResponse, type OnboardingFallback, type OnboardingRiskReason, type OnboardingStartInput, type OnboardingStartResponse, PARTNER_FUNDING_DIRECTIONS, PARTNER_FUNDING_STATUSES, PARTNER_KINDS, PARTNER_PROFILE_STATUSES, PARTNER_SCOPES, PASS_KINDS, PASS_STATES, PAYLOAD_FORMAT_INDICATOR_VALUE, PAYOUT_DESTINATION_STATUSES, POINT_OF_INITIATION, type ParsedNQR, type PartnerClientOptions, type PartnerCollectionsClient, type PartnerFunding, type PartnerFundingClient, type PartnerFundingDirection, type PartnerFundingEventInput, PartnerFundingEventInputSchema, PartnerFundingSchema, type PartnerFundingStatus, type PartnerKind, type PartnerProfile, type PartnerProfileAdminClient, type PartnerProfileAdminClientOptions, PartnerProfileSchema, type PartnerProfileStatus, type PartnerScope, type PartnerSignResult, type Pass, PassArtifactSchema, type PassKind, type PassMetadata, PassMetadataSchema, PassSchema, type PassState, type PassesClient, type PassesClientOptions, type PayCollectionInput, PayCollectionInputSchema, type PayCollectionOptions, type PayCollectionResponse, type PaymentClaim, PaymentClaimSchema, PaymentIntentArtifactSchema, type PayoutDestination, PayoutDestinationSchema, type PayoutDestinationStatus, type PayoutEventInput, PayoutEventInputSchema, type PinSetInput, type PinVerifyInput, type ProviderEventInput, ProviderEventInputSchema, type ProviderEventRecord, ProviderEventRecordSchema, type PublicCollectionIntent, PublicCollectionIntentSchema, type PushPlatform, type PushRegisterInput, RECEIPT_CHANNELS, RECEIPT_KINDS, REPLAY_WINDOW_MS, type Receipt, type ReceiptArtifact, ReceiptArtifactSchema, type ReceiptChannel, type ReceiptKind, type ReceiptPayload, ReceiptPayloadSchema, ReceiptSchema, type ReceiptsClient, type ReceiptsClientOptions, type RecipientResolveInput, type RecipientResolveResponse, type ReconciliationReport, ReconciliationReportSchema, type RecordPayoutEventResult, RecordPayoutEventResultSchema, type RedeemPassResponse, type Redemption, RedemptionSchema, type RegisterDeviceInput, type RegisterDeviceKeyInput, RegisterDeviceKeyInputSchema, type RegisterDeviceResponse, type RegisterSendDeviceKeyInput, type ResolveCollectionOptions, type ResolveCollectionResponse, type ResolvePayLinkResponse, ReversalRecordArtifactSchema, RevokeDeviceKeyInputSchema, type RevokePassInput, type RoutingHint, SETTLEMENT_SCHEDULES, type SendChallengeInput, type SendChallengeResponse, type SendMoneyInput, type SendMoneyOptions, type SendVerifyInput, type SendVerifyResponse, type SettleResponse, SettleResponseSchema, type Settlement, SettlementRecordArtifactSchema, SettlementSchema, type SignedArtifact, type SignedConsumerOAC, SignedConsumerOACSchema, StatementArtifactSchema, type SubscribeOptions, type TLVField, type TransactionDetailResponse, type TransactionDirection, type TransactionsListResponse, type TransferInput, type TransferResponse, type TransferStatus, type UnsignedOAC, type UnsignedOfflinePaymentAuthorization, type UnsignedOfflinePaymentRequest, type UnsignedPass, type UnsignedReceipt, type UnsignedRedemption, type UpsertMerchantProfileInput, UpsertMerchantProfileInputSchema, type UpsertPartnerProfileInput, UpsertPartnerProfileInputSchema, type VerifiedArtifact, type VerifyArtifactOptions, WITHDRAWAL_STATES, type Withdrawal, WithdrawalSchema, type WithdrawalState, base64UrlDecode, base64UrlEncode, bodySha256Hex, buildArtifactBody, buildAuthorization, buildOAC, buildPass, buildPaymentRequest, buildReceipt, buildRedemption, canonicalJSONBytes, canonicalJSONStringify, canonicalRequestString, computeEncounterId, constantTimeEqual, crc16ccitt, crc16ccittHex, createAccountsClient, createApiCredentialsAdminClient, createArtifactUri, createCollectionsClient, createConsumerCollectionsClient, createConsumerWithdrawalsClient, createFlurPartnerClient, createHmacFetch, createMeOfflineClient, createOfflinePaymentAuthorizationArtifactUri, createOfflineSettlementsClient, createPartnerCollectionsClient, createPartnerFundingClient, createPartnerProfileAdminClient, createPassesClient, createReceiptArtifactUri, createReceiptsClient, decodeArtifactUri, decodeAuthorizationQR, decodeBase45, decodePaymentRequestQR, encodeArtifactUri, encodeAuthorizationQR, encodeBase45, encodeNQR, encodePaymentRequestQR, formatAmount, generateDynamicQR, generateKeyPair, generateStaticQR, init, isHardenedArtifactType, isKnownArtifactType, isPassWithinValidity, moneyMinorToNumber, normalizeE164, parseAmountInput, parseNQR, parseQR, publicKeyFromPrivate, readTLV, routingHint, sign, signArtifact, signAuthorization, signCanonical, signOAC, signPartnerRequest, signPass, signPaymentRequest, signReceipt, signRedemption, signRequestHMAC, verify, verifyArtifactSignature, verifyArtifactUri, verifyAuthorization, verifyCanonical, verifyOAC, verifyPass, verifyPaymentRequest, verifyReceipt, verifyRedemption, verifyRequestHMAC, writeTLV };
7261
+ export { ACCOUNT_STATUSES, ACCOUNT_TYPES, ADDITIONAL_DATA_SUBFIELD, ARTIFACT_BODY_SCHEMAS, ARTIFACT_TYPES, type Account, type AccountActivityItem, type AccountMembership, AccountMembershipSchema, AccountSchema, type AccountStatus, type AccountSummaryResponse, type AccountType, type AccountsClient, type AccountsClientOptions, type AddMemberInput, type AdditionalData, type ApiCredentialPublic, ApiCredentialPublicSchema, type ApiCredentialsAdminClient, type ArtifactBody, type ArtifactHeader, ArtifactHeaderSchema, type ArtifactType, type AtomicRedeemReceiptInput, type AtomicRedeemResponse, type AttestationSecurityLevel, AttestationSecurityLevelSchema, type AuthLogoutInput, type AuthRefreshInput, type AuthRefreshResponse, type AuthorizeSendWithBiometricInput, type AuthorizedOptions, type BiometricSigner, type BuildPassInput, type BuildReceiptInput, type BuildRedemptionInput, CLAIM_DOMAIN_V2, COLLECTION_INTENT_STATUSES, COLLECTION_PAYMENT_STATUSES, CUSTODIAL_MODES, type CanonicalClaimInput, type CashNamespace, type ClaimSignature, type CollectionIntent, CollectionIntentSchema, type CollectionPayment, type CollectionPaymentResult, CollectionPaymentResultSchema, CollectionPaymentSchema, type CollectionReportSummary, CollectionReportSummarySchema, type CollectionStatement, CollectionStatementSchema, type CollectionsClient, type CollectionsClientOptions, type ConsumerCollectionsClient, type ConsumerOAC, type OACRecord as ConsumerOACRecord, OACRecordSchema as ConsumerOACRecordSchema, ConsumerOACSchema, type ConsumerPaymentClaim, ConsumerPaymentClaimSchema, type ConsumerSettleResult, ConsumerSettleResultSchema, type ConsumerSettlement, ConsumerSettlementSchema, type ConsumerWithdrawalsClient, type ConsumerWithdrawalsClientOptions, type CreateBusinessAccountInput, type CreateCollectionIntentInput, CreateCollectionIntentInputSchema, type CreatePayLinkResponse, type CreatePayoutDestinationInput, CreatePayoutDestinationInputSchema, type CreatePayoutInput, CreatePayoutInputSchema, type CreateTransferOptions, type CreateWithdrawalInput, CreateWithdrawalInputSchema, type CreateWithdrawalResult, CreateWithdrawalResultSchema, type CustodialMode, type DecodedArtifactUri, type DeviceKeyAlg, DeviceKeyAlgSchema, type DeviceKeyRecord, DeviceKeyRecordSchema, type DeviceTrustState, type DisableOfflineInput, DisableOfflineInputSchema, type DisableOfflineResult, DisableOfflineResultSchema, type Ed25519KeyPair, type EnableOfflineInput, EnableOfflineInputSchema, type EnableOfflineResult, EnableOfflineResultSchema, FIELD, FLUR_ARTIFACT_URI_PREFIX, FLUR_ARTIFACT_URI_SCHEME, FLUR_ARTIFACT_VERSION, FlurApiError, FlurArtifactError, FlurCapExceededError, FlurClient, type FlurClientOptions, FlurError, type FlurErrorCode, FlurExpiredError, type FlurHandle, type FlurInitOptions, type FlurOfflineSettlementsClient, type FlurPartnerClient, type FlurPaymentEvent, FlurReplayError, HARDENED_ARTIFACT_TYPES, type HmacFetchOptions, IdentityArtifactSchema, type IngestFundingResult, IngestFundingResultSchema, type IssueOACInput, IssueOACInputSchema, type IssueOfflineTokenInput, type IssuePassInput, type IssueReceiptInput, LedgerJournalEntryArtifactSchema, type ListPassesInput, type ListPassesResponse, type ListPayoutDestinationsResult, ListPayoutDestinationsResultSchema, type ListReceiptsInput, type ListReceiptsResponse, type ListTransactionsOptions, MEMBERSHIP_ROLES, MERCHANT_PAYOUT_STATUSES, MERCHANT_PROFILE_STATUSES, type MeOfflineClient, type MeOfflineClientOptions, type MembershipRole, type MerchantAccountInfo, type MerchantPayout, MerchantPayoutSchema, type MerchantProfile, MerchantProfileSchema, type MintedApiCredential, MintedApiCredentialSchema, type Money, NGN_CURRENCY_CODE, NG_COUNTRY_CODE, NQRParseError, type NQRPayloadInput, NqrPaymentRequestArtifactSchema, type OAC, OACSchema, OAC_DEFAULT_CUMULATIVE_KOBO, OAC_DEFAULT_PER_TX_KOBO, OAC_DEFAULT_VALIDITY_MS, type OfflineClaimAlgorithm, OfflineClaimArtifactSchema, type OfflineClaimSigner, type OfflineHoldRecord, OfflineHoldRecordSchema, type OfflinePaymentAuthorization, type OfflinePaymentAuthorizationArtifact, OfflinePaymentAuthorizationArtifactSchema, OfflinePaymentAuthorizationSchema, type OfflinePaymentRequest, OfflinePaymentRequestSchema, type OfflineStateResult, OfflineStateResultSchema, type OfflineStatusResult, OfflineStatusResultSchema, type OfflineToken, OfflineTokenSchema, type OnboardingCompleteInput, type OnboardingCompleteResponse, type OnboardingFallback, type OnboardingRiskReason, type OnboardingStartInput, type OnboardingStartResponse, type P256EnrollmentChallengeInput, P256EnrollmentChallengeInputSchema, type P256EnrollmentChallengeResult, P256EnrollmentChallengeResultSchema, PARTNER_FUNDING_DIRECTIONS, PARTNER_FUNDING_STATUSES, PARTNER_KINDS, PARTNER_PROFILE_STATUSES, PARTNER_SCOPES, PASS_KINDS, PASS_STATES, PAYLOAD_FORMAT_INDICATOR_VALUE, PAYOUT_DESTINATION_STATUSES, POINT_OF_INITIATION, type ParsedNQR, type PartnerClientOptions, type PartnerCollectionsClient, type PartnerFunding, type PartnerFundingClient, type PartnerFundingDirection, type PartnerFundingEventInput, PartnerFundingEventInputSchema, PartnerFundingSchema, type PartnerFundingStatus, type PartnerKind, type PartnerProfile, type PartnerProfileAdminClient, type PartnerProfileAdminClientOptions, PartnerProfileSchema, type PartnerProfileStatus, type PartnerScope, type PartnerSignResult, type Pass, PassArtifactSchema, type PassKind, type PassMetadata, PassMetadataSchema, PassSchema, type PassState, type PassesClient, type PassesClientOptions, type PayCollectionInput, PayCollectionInputSchema, type PayCollectionOptions, type PayCollectionResponse, type PaymentClaim, PaymentClaimSchema, PaymentIntentArtifactSchema, type PayoutDestination, PayoutDestinationSchema, type PayoutDestinationStatus, type PayoutEventInput, PayoutEventInputSchema, type PinSetInput, type PinVerifyInput, type ProviderEventInput, ProviderEventInputSchema, type ProviderEventRecord, ProviderEventRecordSchema, type ProvisionOfflineAllowanceInput, ProvisionOfflineAllowanceInputSchema, type ProvisionOfflineAllowanceResult, ProvisionOfflineAllowanceResultSchema, type PublicCollectionIntent, PublicCollectionIntentSchema, type PushPlatform, type PushRegisterInput, RECEIPT_CHANNELS, RECEIPT_KINDS, REPLAY_WINDOW_MS, type Receipt, type ReceiptArtifact, ReceiptArtifactSchema, type ReceiptChannel, type ReceiptKind, type ReceiptPayload, ReceiptPayloadSchema, ReceiptSchema, type ReceiptsClient, type ReceiptsClientOptions, type RecipientResolveInput, type RecipientResolveResponse, type ReconciliationReport, ReconciliationReportSchema, type RecordPayoutEventResult, RecordPayoutEventResultSchema, type RedeemPassResponse, type Redemption, RedemptionSchema, type RegisterDeviceInput, type RegisterDeviceKeyInput, RegisterDeviceKeyInputSchema, type RegisterDeviceKeyP256Input, RegisterDeviceKeyP256InputSchema, type RegisterDeviceResponse, type RegisterSendDeviceKeyInput, type ResolveCollectionOptions, type ResolveCollectionResponse, type ResolvePayLinkResponse, ReversalRecordArtifactSchema, RevokeDeviceKeyInputSchema, type RevokePassInput, type RoutingHint, SETTLEMENT_SCHEDULES, type SendChallengeInput, type SendChallengeResponse, type SendMoneyInput, type SendMoneyOptions, type SendVerifyInput, type SendVerifyResponse, type SettleResponse, SettleResponseSchema, type Settlement, SettlementRecordArtifactSchema, SettlementSchema, type SignedArtifact, type SignedConsumerOAC, SignedConsumerOACSchema, type SignerPublicKey, StatementArtifactSchema, type SubscribeOptions, type TLVField, type TransactionDetailResponse, type TransactionDirection, type TransactionsListResponse, type TransferInput, type TransferResponse, type TransferStatus, type UnsignedOAC, type UnsignedOfflinePaymentAuthorization, type UnsignedOfflinePaymentRequest, type UnsignedPass, type UnsignedReceipt, type UnsignedRedemption, type UpsertMerchantProfileInput, UpsertMerchantProfileInputSchema, type UpsertPartnerProfileInput, UpsertPartnerProfileInputSchema, type VerifiedArtifact, type VerifyArtifactOptions, type VerifyClaimSignatureInput, WITHDRAWAL_STATES, type Withdrawal, WithdrawalSchema, type WithdrawalState, base64UrlDecode, base64UrlEncode, bodySha256Hex, buildArtifactBody, buildAuthorization, buildOAC, buildPass, buildPaymentRequest, buildReceipt, buildRedemption, canonicalClaimSigningBytes, canonicalClaimSigningPayload, canonicalJSONBytes, canonicalJSONStringify, canonicalRequestString, computeEncounterId, constantTimeEqual, crc16ccitt, crc16ccittHex, createAccountsClient, createApiCredentialsAdminClient, createArtifactUri, createCollectionsClient, createConsumerCollectionsClient, createConsumerWithdrawalsClient, createFlurPartnerClient, createHmacFetch, createMeOfflineClient, createOfflinePaymentAuthorizationArtifactUri, createOfflineSettlementsClient, createPartnerCollectionsClient, createPartnerFundingClient, createPartnerProfileAdminClient, createPassesClient, createReceiptArtifactUri, createReceiptsClient, createSoftwareEd25519Signer, createSoftwareP256Signer, decodeArtifactUri, decodeAuthorizationQR, decodeBase45, decodePaymentRequestQR, encodeArtifactUri, encodeAuthorizationQR, encodeBase45, encodeNQR, encodePaymentRequestQR, formatAmount, generateDynamicQR, generateKeyPair, generateStaticQR, init, isHardenedArtifactType, isKnownArtifactType, isPassWithinValidity, moneyMinorToNumber, normalizeE164, parseAmountInput, parseNQR, parseQR, publicKeyFromPrivate, readTLV, routingHint, sign, signArtifact, signAuthorization, signCanonical, signOAC, signPartnerRequest, signPass, signPaymentRequest, signReceipt, signRedemption, signRequestHMAC, verify, verifyArtifactSignature, verifyArtifactUri, verifyAuthorization, verifyCanonical, verifyClaimSignature, verifyOAC, verifyPass, verifyPaymentRequest, verifyReceipt, verifyRedemption, verifyRequestHMAC, writeTLV };