// Objective-C API for talking to gitlab.com/ProtonMail/go-pm-crypto/models Go package.
//   gobind -lang=objc gitlab.com/ProtonMail/go-pm-crypto/models
//
// File is generated by gobind. Do not edit.

#ifndef __Models_H__
#define __Models_H__

@import Foundation;
#include "Universe.objc.h"


@class ModelsDecryptSignedVerify;
@class ModelsEncryptedSigned;
@class ModelsEncryptedSplit;
@class ModelsSessionSplit;

/**
 * DecryptSignedVerify decrypt_sign_verify
 */
@interface ModelsDecryptSignedVerify : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) id _ref;

- (instancetype)initWithRef:(id)ref;
- (instancetype)init;
/**
 * clear text
 */
- (NSString*)plaintext;
- (void)setPlaintext:(NSString*)v;
/**
 * bitmask verify status : 0
 */
- (long)verify;
- (void)setVerify:(long)v;
/**
 * error message if verify failed
 */
- (NSString*)message;
- (void)setMessage:(NSString*)v;
@end

/**
 * EncryptedSigned encrypt_sign_package
 */
@interface ModelsEncryptedSigned : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) id _ref;

- (instancetype)initWithRef:(id)ref;
- (instancetype)init;
- (NSString*)encrypted;
- (void)setEncrypted:(NSString*)v;
- (NSString*)signature;
- (void)setSignature:(NSString*)v;
@end

/**
 * EncryptedSplit when encrypt attachemt
 */
@interface ModelsEncryptedSplit : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) id _ref;

- (instancetype)initWithRef:(id)ref;
- (instancetype)init;
- (NSData*)dataPacket;
- (void)setDataPacket:(NSData*)v;
- (NSData*)keyPacket;
- (void)setKeyPacket:(NSData*)v;
- (NSString*)algo;
- (void)setAlgo:(NSString*)v;
@end

/**
 * SessionSplit split session
 */
@interface ModelsSessionSplit : NSObject <goSeqRefInterface> {
}
@property(strong, readonly) id _ref;

- (instancetype)initWithRef:(id)ref;
- (instancetype)init;
- (NSData*)session;
- (void)setSession:(NSData*)v;
- (NSString*)algo;
- (void)setAlgo:(NSString*)v;
@end

#endif
