#import <Foundation/Foundation.h>
#import <ProtocolBuffer/PBCodable.h>
@class OTAuthenticatedCiphertext;
#ifdef __cplusplus
#define OTBOTTLE_FUNCTION extern "C" __attribute__((visibility("hidden")))
#else
#define OTBOTTLE_FUNCTION extern __attribute__((visibility("hidden")))
#endif
__attribute__((visibility("hidden")))
@interface OTBottle : PBCodable <NSCopying>
{
NSString *_bottleID;
OTAuthenticatedCiphertext *_contents;
NSData *_escrowedEncryptionSPKI;
NSData *_escrowedSigningSPKI;
NSData *_peerEncryptionSPKI;
NSString *_peerID;
NSData *_peerSigningSPKI;
NSData *_reserved3;
NSData *_reserved4;
NSData *_reserved5;
NSData *_reserved6;
NSData *_reserved7;
}
@property (nonatomic, readonly) BOOL hasPeerID;
@property (nonatomic, retain) NSString *peerID;
@property (nonatomic, readonly) BOOL hasBottleID;
@property (nonatomic, retain) NSString *bottleID;
@property (nonatomic, readonly) BOOL hasReserved3;
@property (nonatomic, retain) NSData *reserved3;
@property (nonatomic, readonly) BOOL hasReserved4;
@property (nonatomic, retain) NSData *reserved4;
@property (nonatomic, readonly) BOOL hasReserved5;
@property (nonatomic, retain) NSData *reserved5;
@property (nonatomic, readonly) BOOL hasReserved6;
@property (nonatomic, retain) NSData *reserved6;
@property (nonatomic, readonly) BOOL hasEscrowedSigningSPKI;
@property (nonatomic, retain) NSData *escrowedSigningSPKI;
@property (nonatomic, readonly) BOOL hasEscrowedEncryptionSPKI;
@property (nonatomic, retain) NSData *escrowedEncryptionSPKI;
@property (nonatomic, readonly) BOOL hasPeerSigningSPKI;
@property (nonatomic, retain) NSData *peerSigningSPKI;
@property (nonatomic, readonly) BOOL hasPeerEncryptionSPKI;
@property (nonatomic, retain) NSData *peerEncryptionSPKI;
@property (nonatomic, readonly) BOOL hasReserved7;
@property (nonatomic, retain) NSData *reserved7;
@property (nonatomic, readonly) BOOL hasContents;
@property (nonatomic, retain) OTAuthenticatedCiphertext *contents;
- (void)copyTo:(OTBottle *)other;
- (void)mergeFrom:(OTBottle *)other;
OTBOTTLE_FUNCTION BOOL OTBottleReadFrom(__unsafe_unretained OTBottle *self, __unsafe_unretained PBDataReader *reader);
@end