#if OCTAGON
#include <securityd/SecDbItem.h>
#include <utilities/SecDb.h>
#import "CKKSItem.h"
#import "CKKSSQLDatabaseObject.h"
#ifndef CKKSMirrorEntry_h
#define CKKSMirrorEntry_h
#import <CloudKit/CloudKit.h>
NS_ASSUME_NONNULL_BEGIN
@class CKKSWrappedAESSIVKey;
@interface CKKSMirrorEntry : CKKSSQLDatabaseObject
@property CKKSItem* item;
@property NSString* uuid;
@property uint64_t wasCurrent;
- (instancetype)initWithCKKSItem:(CKKSItem*)item;
- (instancetype)initWithCKRecord:(CKRecord*)record;
- (void)setFromCKRecord:(CKRecord*)record;
- (bool)matchesCKRecord:(CKRecord*)record;
+ (instancetype)fromDatabase:(NSString*)uuid zoneID:(CKRecordZoneID*)zoneID error:(NSError* __autoreleasing*)error;
+ (instancetype)tryFromDatabase:(NSString*)uuid zoneID:(CKRecordZoneID*)zoneID error:(NSError* __autoreleasing*)error;
+ (NSDictionary<NSString*, NSNumber*>*)countsByParentKey:(CKRecordZoneID*)zoneID error:(NSError* __autoreleasing*)error;
+ (NSNumber*)counts:(CKRecordZoneID*)zoneID error: (NSError * __autoreleasing *) error;
@end
NS_ASSUME_NONNULL_END
#endif
#endif