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

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

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

@interface OTEscrowAuthenticationInformation : PBCodable <NSCopying>
{
    NSString *_authenticationAppleid;
    NSString *_authenticationAuthToken;
    NSString *_authenticationDsid;
    NSString *_authenticationEscrowproxyUrl;
    NSString *_authenticationIcloudEnvironment;
    NSString *_authenticationPassword;
    NSString *_fmipUuid;
    BOOL _fmipRecovery;
    BOOL _idmsRecovery;
    struct {
        int fmipRecovery:1;
        int idmsRecovery:1;
    } _has;
}


@property (nonatomic, readonly) BOOL hasAuthenticationPassword;
@property (nonatomic, retain) NSString *authenticationPassword;

@property (nonatomic, readonly) BOOL hasAuthenticationDsid;
@property (nonatomic, retain) NSString *authenticationDsid;

@property (nonatomic, readonly) BOOL hasAuthenticationAppleid;
@property (nonatomic, retain) NSString *authenticationAppleid;

@property (nonatomic, readonly) BOOL hasFmipUuid;
@property (nonatomic, retain) NSString *fmipUuid;

@property (nonatomic) BOOL hasFmipRecovery;
@property (nonatomic) BOOL fmipRecovery;

@property (nonatomic) BOOL hasIdmsRecovery;
@property (nonatomic) BOOL idmsRecovery;

@property (nonatomic, readonly) BOOL hasAuthenticationAuthToken;
@property (nonatomic, retain) NSString *authenticationAuthToken;

@property (nonatomic, readonly) BOOL hasAuthenticationEscrowproxyUrl;
@property (nonatomic, retain) NSString *authenticationEscrowproxyUrl;

@property (nonatomic, readonly) BOOL hasAuthenticationIcloudEnvironment;
@property (nonatomic, retain) NSString *authenticationIcloudEnvironment;

// Performs a shallow copy into other
- (void)copyTo:(OTEscrowAuthenticationInformation *)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:(OTEscrowAuthenticationInformation *)other;

OTESCROWAUTHENTICATIONINFORMATION_FUNCTION BOOL OTEscrowAuthenticationInformationReadFrom(__unsafe_unretained OTEscrowAuthenticationInformation *self, __unsafe_unretained PBDataReader *reader);

@end

