2 #import <Foundation/Foundation.h> 
   3 #import <CoreCDP/CDPStateController.h> 
   5 #import "keychain/escrowrequest/generated_source/SecEscrowPendingRecord.h" 
   6 #import "keychain/ot/OctagonStateMachine.h" 
   7 #import "keychain/ckks/CKKSGroupOperation.h" 
   9 NS_ASSUME_NONNULL_BEGIN
 
  11 @interface EscrowRequestPerformEscrowEnrollOperation 
: CKKSGroupOperation 
<OctagonStateTransitionOperationProtocol
> 
  13 @property 
uint64_t numberOfRecordsUploaded
; 
  15 - (instancetype
)initWithIntendedState
:(OctagonState
*)intendedState
 
  16                            errorState
:(OctagonState
*)errorState
 
  17                   enforceRateLimiting
:(bool)enforceRateLimiting
 
  18                      lockStateTracker
:(CKKSLockStateTracker
*)lockStateTracker
; 
  20 + (void)cdpUploadPrerecord
:(SecEscrowPendingRecord
*)recordToSend
 
  21                 secretType
:(CDPDeviceSecretType
)secretType
 
  22                      reply
:(void (^)(BOOL didUpdate
, NSError
* _Nullable error
))reply
;