// This file was automatically generated by protocompiler
// DO NOT EDIT!
// Compiled from OTEscrowRecord.proto

#import <Foundation/Foundation.h>
#import <ProtocolBuffer/PBCodable.h>

#ifdef __cplusplus
#define OTESCROWRECORDMETADATACLIENTMETADATA_FUNCTION extern "C"
#else
#define OTESCROWRECORDMETADATACLIENTMETADATA_FUNCTION extern
#endif

@interface OTEscrowRecordMetadataClientMetadata : PBCodable <NSCopying>
{
    uint64_t _devicePlatform;
    uint64_t _secureBackupMetadataTimestamp;
    uint64_t _secureBackupNumericPassphraseLength;
    uint64_t _secureBackupUsesComplexPassphrase;
    uint64_t _secureBackupUsesNumericPassphrase;
    NSString *_deviceColor;
    NSString *_deviceEnclosureColor;
    NSString *_deviceMid;
    NSString *_deviceModel;
    NSString *_deviceModelClass;
    NSString *_deviceModelVersion;
    NSString *_deviceName;
    struct {
        int devicePlatform:1;
        int secureBackupMetadataTimestamp:1;
        int secureBackupNumericPassphraseLength:1;
        int secureBackupUsesComplexPassphrase:1;
        int secureBackupUsesNumericPassphrase:1;
    } _has;
}


@property (nonatomic) BOOL hasSecureBackupMetadataTimestamp;
@property (nonatomic) uint64_t secureBackupMetadataTimestamp;

@property (nonatomic) BOOL hasSecureBackupNumericPassphraseLength;
@property (nonatomic) uint64_t secureBackupNumericPassphraseLength;

@property (nonatomic) BOOL hasSecureBackupUsesComplexPassphrase;
@property (nonatomic) uint64_t secureBackupUsesComplexPassphrase;

@property (nonatomic) BOOL hasSecureBackupUsesNumericPassphrase;
@property (nonatomic) uint64_t secureBackupUsesNumericPassphrase;

@property (nonatomic, readonly) BOOL hasDeviceColor;
@property (nonatomic, retain) NSString *deviceColor;

@property (nonatomic, readonly) BOOL hasDeviceEnclosureColor;
@property (nonatomic, retain) NSString *deviceEnclosureColor;

@property (nonatomic, readonly) BOOL hasDeviceMid;
@property (nonatomic, retain) NSString *deviceMid;

@property (nonatomic, readonly) BOOL hasDeviceModel;
@property (nonatomic, retain) NSString *deviceModel;

@property (nonatomic, readonly) BOOL hasDeviceModelClass;
@property (nonatomic, retain) NSString *deviceModelClass;

@property (nonatomic, readonly) BOOL hasDeviceModelVersion;
@property (nonatomic, retain) NSString *deviceModelVersion;

@property (nonatomic, readonly) BOOL hasDeviceName;
@property (nonatomic, retain) NSString *deviceName;

@property (nonatomic) BOOL hasDevicePlatform;
@property (nonatomic) uint64_t devicePlatform;

// Performs a shallow copy into other
- (void)copyTo:(OTEscrowRecordMetadataClientMetadata *)other;

// Performs a deep merge from other into self
// If set in other, singular values in self are replaced in self
// Singular composite values are recursively merged
// Repeated values from other are appended to repeated values in self
- (void)mergeFrom:(OTEscrowRecordMetadataClientMetadata *)other;

OTESCROWRECORDMETADATACLIENTMETADATA_FUNCTION BOOL OTEscrowRecordMetadataClientMetadataReadFrom(__unsafe_unretained OTEscrowRecordMetadataClientMetadata *self, __unsafe_unretained PBDataReader *reader);

@end

