/***********************************************************************
  Secure PDF 2024 for macOS and iOS
  Copyright (c) 2026 /n software inc.
************************************************************************/

#import <Foundation/Foundation.h>


//CERTSTORETYPES
#define CST_USER                                           0

#define CST_MACHINE                                        1

#define CST_PFXFILE                                        2

#define CST_PFXBLOB                                        3

#define CST_JKSFILE                                        4

#define CST_JKSBLOB                                        5

#define CST_PEMKEY_FILE                                    6

#define CST_PEMKEY_BLOB                                    7

#define CST_PUBLIC_KEY_FILE                                8

#define CST_PUBLIC_KEY_BLOB                                9

#define CST_SSHPUBLIC_KEY_BLOB                             10

#define CST_P7BFILE                                        11

#define CST_P7BBLOB                                        12

#define CST_SSHPUBLIC_KEY_FILE                             13

#define CST_PPKFILE                                        14

#define CST_PPKBLOB                                        15

#define CST_XMLFILE                                        16

#define CST_XMLBLOB                                        17

#define CST_JWKFILE                                        18

#define CST_JWKBLOB                                        19

#define CST_SECURITY_KEY                                   20

#define CST_BCFKSFILE                                      21

#define CST_BCFKSBLOB                                      22

#define CST_PKCS11                                         23

#define CST_AUTO                                           99

#ifndef NS_SWIFT_NAME
#define NS_SWIFT_NAME(x)
#endif

@protocol SecurePDFPDFEditDelegate <NSObject>
@optional
- (void)onDocumentInfo:(int)pageCount NS_SWIFT_NAME(onDocumentInfo(_:));

- (void)onError:(int)errorCode :(NSString*)description NS_SWIFT_NAME(onError(_:_:));

- (void)onLog:(int)logLevel :(NSString*)message :(NSString*)logType NS_SWIFT_NAME(onLog(_:_:_:));

- (void)onPassword:(BOOL)available :(int*)cancel NS_SWIFT_NAME(onPassword(_:_:));

- (void)onRecipientInfo:(NSString*)issuer :(NSString*)serialNumber :(NSString*)subjectKeyIdentifier :(BOOL)available :(int*)cancel NS_SWIFT_NAME(onRecipientInfo(_:_:_:_:_:));

- (void)onReplaceText:(int)pageIndex :(int)entryIndex :(int)offset :(NSString*)pattern :(NSString**)substitute :(int*)skip NS_SWIFT_NAME(onReplaceText(_:_:_:_:_:_:));

@end

@interface SecurePDFPDFEdit : NSObject {
  @public void* m_pObj;
  @public CFMutableArrayRef m_rNotifiers;
  __unsafe_unretained id <SecurePDFPDFEditDelegate> m_delegate;
  BOOL m_raiseNSException;
  BOOL m_delegateHasDocumentInfo;

  BOOL m_delegateHasError;

  BOOL m_delegateHasLog;

  BOOL m_delegateHasPassword;

  BOOL m_delegateHasRecipientInfo;

  BOOL m_delegateHasReplaceText;

}

+ (SecurePDFPDFEdit*)pdfedit;

- (id)init;
- (void)dealloc;

- (NSString*)lastError;
- (int)lastErrorCode;
- (int)eventErrorCode;

@property (nonatomic,readwrite,assign,getter=delegate,setter=setDelegate:) id <SecurePDFPDFEditDelegate> delegate;
- (id <SecurePDFPDFEditDelegate>)delegate;
- (void) setDelegate:(id <SecurePDFPDFEditDelegate>)anObject;

  /* Events */

- (void)onDocumentInfo:(int)pageCount NS_SWIFT_NAME(onDocumentInfo(_:));

- (void)onError:(int)errorCode :(NSString*)description NS_SWIFT_NAME(onError(_:_:));

- (void)onLog:(int)logLevel :(NSString*)message :(NSString*)logType NS_SWIFT_NAME(onLog(_:_:_:));

- (void)onPassword:(BOOL)available :(int*)cancel NS_SWIFT_NAME(onPassword(_:_:));

- (void)onRecipientInfo:(NSString*)issuer :(NSString*)serialNumber :(NSString*)subjectKeyIdentifier :(BOOL)available :(int*)cancel NS_SWIFT_NAME(onRecipientInfo(_:_:_:_:_:));

- (void)onReplaceText:(int)pageIndex :(int)entryIndex :(int)offset :(NSString*)pattern :(NSString**)substitute :(int*)skip NS_SWIFT_NAME(onReplaceText(_:_:_:_:_:_:));

  /* Properties */

@property (nonatomic,readwrite,assign,getter=RuntimeLicense,setter=setRuntimeLicense:) NSString* RuntimeLicense NS_SWIFT_NAME(RuntimeLicense);
- (NSString*)RuntimeLicense;
- (void)setRuntimeLicense:(NSString*)newRuntimeLicense;

@property (nonatomic,readonly,assign,getter=VERSION) NSString* VERSION NS_SWIFT_NAME(VERSION);
- (NSString*)VERSION;

@property (nonatomic,readwrite,assign,getter=raiseNSException,setter=setRaiseNSException:) BOOL raiseNSException NS_SWIFT_NAME(raiseNSException);
- (BOOL)raiseNSException NS_SWIFT_NAME(raiseNSException());
- (void)setRaiseNSException:(BOOL)newRaiseNSException NS_SWIFT_NAME(setRaiseNSException(_:));

@property (nonatomic,readwrite,assign,getter=attachmentCount,setter=setAttachmentCount:) int attachmentCount NS_SWIFT_NAME(attachmentCount);

- (int)attachmentCount NS_SWIFT_NAME(attachmentCount());
- (void)setAttachmentCount :(int)newAttachmentCount NS_SWIFT_NAME(setAttachmentCount(_:));

- (NSString*)attachmentContentType:(int)attachmentIndex NS_SWIFT_NAME(attachmentContentType(_:));
- (void)setAttachmentContentType:(int)attachmentIndex :(NSString*)newAttachmentContentType NS_SWIFT_NAME(setAttachmentContentType(_:_:));

- (NSString*)attachmentCreationDate:(int)attachmentIndex NS_SWIFT_NAME(attachmentCreationDate(_:));
- (void)setAttachmentCreationDate:(int)attachmentIndex :(NSString*)newAttachmentCreationDate NS_SWIFT_NAME(setAttachmentCreationDate(_:_:));

- (NSString*)attachmentData:(int)attachmentIndex NS_SWIFT_NAME(attachmentData(_:));
- (void)setAttachmentData:(int)attachmentIndex :(NSString*)newAttachmentData NS_SWIFT_NAME(setAttachmentData(_:_:));

- (NSData*)attachmentDataB:(int)attachmentIndex NS_SWIFT_NAME(attachmentDataB(_:));
- (void)setAttachmentDataB:(int)attachmentIndex :(NSData*)newAttachmentData NS_SWIFT_NAME(setAttachmentDataB(_:_:));


- (NSString*)attachmentDescription:(int)attachmentIndex NS_SWIFT_NAME(attachmentDescription(_:));
- (void)setAttachmentDescription:(int)attachmentIndex :(NSString*)newAttachmentDescription NS_SWIFT_NAME(setAttachmentDescription(_:_:));

- (NSString*)attachmentFileName:(int)attachmentIndex NS_SWIFT_NAME(attachmentFileName(_:));
- (void)setAttachmentFileName:(int)attachmentIndex :(NSString*)newAttachmentFileName NS_SWIFT_NAME(setAttachmentFileName(_:_:));

- (NSString*)attachmentModificationDate:(int)attachmentIndex NS_SWIFT_NAME(attachmentModificationDate(_:));
- (void)setAttachmentModificationDate:(int)attachmentIndex :(NSString*)newAttachmentModificationDate NS_SWIFT_NAME(setAttachmentModificationDate(_:_:));

- (NSString*)attachmentName:(int)attachmentIndex NS_SWIFT_NAME(attachmentName(_:));
- (void)setAttachmentName:(int)attachmentIndex :(NSString*)newAttachmentName NS_SWIFT_NAME(setAttachmentName(_:_:));

- (long long)attachmentSize:(int)attachmentIndex NS_SWIFT_NAME(attachmentSize(_:));

@property (nonatomic,readonly,assign,getter=decryptionCertEffectiveDate) NSString* decryptionCertEffectiveDate NS_SWIFT_NAME(decryptionCertEffectiveDate);

- (NSString*)decryptionCertEffectiveDate NS_SWIFT_NAME(decryptionCertEffectiveDate());

@property (nonatomic,readonly,assign,getter=decryptionCertExpirationDate) NSString* decryptionCertExpirationDate NS_SWIFT_NAME(decryptionCertExpirationDate);

- (NSString*)decryptionCertExpirationDate NS_SWIFT_NAME(decryptionCertExpirationDate());

@property (nonatomic,readonly,assign,getter=decryptionCertExtendedKeyUsage) NSString* decryptionCertExtendedKeyUsage NS_SWIFT_NAME(decryptionCertExtendedKeyUsage);

- (NSString*)decryptionCertExtendedKeyUsage NS_SWIFT_NAME(decryptionCertExtendedKeyUsage());

@property (nonatomic,readonly,assign,getter=decryptionCertFingerprint) NSString* decryptionCertFingerprint NS_SWIFT_NAME(decryptionCertFingerprint);

- (NSString*)decryptionCertFingerprint NS_SWIFT_NAME(decryptionCertFingerprint());

@property (nonatomic,readonly,assign,getter=decryptionCertFingerprintSHA1) NSString* decryptionCertFingerprintSHA1 NS_SWIFT_NAME(decryptionCertFingerprintSHA1);

- (NSString*)decryptionCertFingerprintSHA1 NS_SWIFT_NAME(decryptionCertFingerprintSHA1());

@property (nonatomic,readonly,assign,getter=decryptionCertFingerprintSHA256) NSString* decryptionCertFingerprintSHA256 NS_SWIFT_NAME(decryptionCertFingerprintSHA256);

- (NSString*)decryptionCertFingerprintSHA256 NS_SWIFT_NAME(decryptionCertFingerprintSHA256());

@property (nonatomic,readonly,assign,getter=decryptionCertIssuer) NSString* decryptionCertIssuer NS_SWIFT_NAME(decryptionCertIssuer);

- (NSString*)decryptionCertIssuer NS_SWIFT_NAME(decryptionCertIssuer());

@property (nonatomic,readonly,assign,getter=decryptionCertPrivateKey) NSString* decryptionCertPrivateKey NS_SWIFT_NAME(decryptionCertPrivateKey);

- (NSString*)decryptionCertPrivateKey NS_SWIFT_NAME(decryptionCertPrivateKey());

@property (nonatomic,readonly,assign,getter=decryptionCertPrivateKeyAvailable) BOOL decryptionCertPrivateKeyAvailable NS_SWIFT_NAME(decryptionCertPrivateKeyAvailable);

- (BOOL)decryptionCertPrivateKeyAvailable NS_SWIFT_NAME(decryptionCertPrivateKeyAvailable());

@property (nonatomic,readonly,assign,getter=decryptionCertPrivateKeyContainer) NSString* decryptionCertPrivateKeyContainer NS_SWIFT_NAME(decryptionCertPrivateKeyContainer);

- (NSString*)decryptionCertPrivateKeyContainer NS_SWIFT_NAME(decryptionCertPrivateKeyContainer());

@property (nonatomic,readonly,assign,getter=decryptionCertPublicKey) NSString* decryptionCertPublicKey NS_SWIFT_NAME(decryptionCertPublicKey);

- (NSString*)decryptionCertPublicKey NS_SWIFT_NAME(decryptionCertPublicKey());

@property (nonatomic,readonly,assign,getter=decryptionCertPublicKeyAlgorithm) NSString* decryptionCertPublicKeyAlgorithm NS_SWIFT_NAME(decryptionCertPublicKeyAlgorithm);

- (NSString*)decryptionCertPublicKeyAlgorithm NS_SWIFT_NAME(decryptionCertPublicKeyAlgorithm());

@property (nonatomic,readonly,assign,getter=decryptionCertPublicKeyLength) int decryptionCertPublicKeyLength NS_SWIFT_NAME(decryptionCertPublicKeyLength);

- (int)decryptionCertPublicKeyLength NS_SWIFT_NAME(decryptionCertPublicKeyLength());

@property (nonatomic,readonly,assign,getter=decryptionCertSerialNumber) NSString* decryptionCertSerialNumber NS_SWIFT_NAME(decryptionCertSerialNumber);

- (NSString*)decryptionCertSerialNumber NS_SWIFT_NAME(decryptionCertSerialNumber());

@property (nonatomic,readonly,assign,getter=decryptionCertSignatureAlgorithm) NSString* decryptionCertSignatureAlgorithm NS_SWIFT_NAME(decryptionCertSignatureAlgorithm);

- (NSString*)decryptionCertSignatureAlgorithm NS_SWIFT_NAME(decryptionCertSignatureAlgorithm());

@property (nonatomic,readwrite,assign,getter=decryptionCertStore,setter=setDecryptionCertStore:) NSString* decryptionCertStore NS_SWIFT_NAME(decryptionCertStore);

- (NSString*)decryptionCertStore NS_SWIFT_NAME(decryptionCertStore());
- (void)setDecryptionCertStore :(NSString*)newDecryptionCertStore NS_SWIFT_NAME(setDecryptionCertStore(_:));

@property (nonatomic,readwrite,assign,getter=decryptionCertStoreB,setter=setDecryptionCertStoreB:) NSData* decryptionCertStoreB NS_SWIFT_NAME(decryptionCertStoreB);

- (NSData*)decryptionCertStoreB NS_SWIFT_NAME(decryptionCertStoreB());
- (void)setDecryptionCertStoreB :(NSData*)newDecryptionCertStore NS_SWIFT_NAME(setDecryptionCertStoreB(_:));


@property (nonatomic,readwrite,assign,getter=decryptionCertStorePassword,setter=setDecryptionCertStorePassword:) NSString* decryptionCertStorePassword NS_SWIFT_NAME(decryptionCertStorePassword);

- (NSString*)decryptionCertStorePassword NS_SWIFT_NAME(decryptionCertStorePassword());
- (void)setDecryptionCertStorePassword :(NSString*)newDecryptionCertStorePassword NS_SWIFT_NAME(setDecryptionCertStorePassword(_:));

@property (nonatomic,readwrite,assign,getter=decryptionCertStoreType,setter=setDecryptionCertStoreType:) int decryptionCertStoreType NS_SWIFT_NAME(decryptionCertStoreType);

- (int)decryptionCertStoreType NS_SWIFT_NAME(decryptionCertStoreType());
- (void)setDecryptionCertStoreType :(int)newDecryptionCertStoreType NS_SWIFT_NAME(setDecryptionCertStoreType(_:));

@property (nonatomic,readonly,assign,getter=decryptionCertSubjectAltNames) NSString* decryptionCertSubjectAltNames NS_SWIFT_NAME(decryptionCertSubjectAltNames);

- (NSString*)decryptionCertSubjectAltNames NS_SWIFT_NAME(decryptionCertSubjectAltNames());

@property (nonatomic,readonly,assign,getter=decryptionCertThumbprintMD5) NSString* decryptionCertThumbprintMD5 NS_SWIFT_NAME(decryptionCertThumbprintMD5);

- (NSString*)decryptionCertThumbprintMD5 NS_SWIFT_NAME(decryptionCertThumbprintMD5());

@property (nonatomic,readonly,assign,getter=decryptionCertThumbprintSHA1) NSString* decryptionCertThumbprintSHA1 NS_SWIFT_NAME(decryptionCertThumbprintSHA1);

- (NSString*)decryptionCertThumbprintSHA1 NS_SWIFT_NAME(decryptionCertThumbprintSHA1());

@property (nonatomic,readonly,assign,getter=decryptionCertThumbprintSHA256) NSString* decryptionCertThumbprintSHA256 NS_SWIFT_NAME(decryptionCertThumbprintSHA256);

- (NSString*)decryptionCertThumbprintSHA256 NS_SWIFT_NAME(decryptionCertThumbprintSHA256());

@property (nonatomic,readonly,assign,getter=decryptionCertUsage) NSString* decryptionCertUsage NS_SWIFT_NAME(decryptionCertUsage);

- (NSString*)decryptionCertUsage NS_SWIFT_NAME(decryptionCertUsage());

@property (nonatomic,readonly,assign,getter=decryptionCertUsageFlags) int decryptionCertUsageFlags NS_SWIFT_NAME(decryptionCertUsageFlags);

- (int)decryptionCertUsageFlags NS_SWIFT_NAME(decryptionCertUsageFlags());

@property (nonatomic,readonly,assign,getter=decryptionCertVersion) NSString* decryptionCertVersion NS_SWIFT_NAME(decryptionCertVersion);

- (NSString*)decryptionCertVersion NS_SWIFT_NAME(decryptionCertVersion());

@property (nonatomic,readwrite,assign,getter=decryptionCertSubject,setter=setDecryptionCertSubject:) NSString* decryptionCertSubject NS_SWIFT_NAME(decryptionCertSubject);

- (NSString*)decryptionCertSubject NS_SWIFT_NAME(decryptionCertSubject());
- (void)setDecryptionCertSubject :(NSString*)newDecryptionCertSubject NS_SWIFT_NAME(setDecryptionCertSubject(_:));

@property (nonatomic,readwrite,assign,getter=decryptionCertEncoded,setter=setDecryptionCertEncoded:) NSString* decryptionCertEncoded NS_SWIFT_NAME(decryptionCertEncoded);

- (NSString*)decryptionCertEncoded NS_SWIFT_NAME(decryptionCertEncoded());
- (void)setDecryptionCertEncoded :(NSString*)newDecryptionCertEncoded NS_SWIFT_NAME(setDecryptionCertEncoded(_:));

@property (nonatomic,readwrite,assign,getter=decryptionCertEncodedB,setter=setDecryptionCertEncodedB:) NSData* decryptionCertEncodedB NS_SWIFT_NAME(decryptionCertEncodedB);

- (NSData*)decryptionCertEncodedB NS_SWIFT_NAME(decryptionCertEncodedB());
- (void)setDecryptionCertEncodedB :(NSData*)newDecryptionCertEncoded NS_SWIFT_NAME(setDecryptionCertEncodedB(_:));


@property (nonatomic,readonly,assign,getter=fontColor) NSString* fontColor NS_SWIFT_NAME(fontColor);

- (NSString*)fontColor NS_SWIFT_NAME(fontColor());

@property (nonatomic,readonly,assign,getter=fontName) NSString* fontName NS_SWIFT_NAME(fontName);

- (NSString*)fontName NS_SWIFT_NAME(fontName());

@property (nonatomic,readonly,assign,getter=fontSize) NSString* fontSize NS_SWIFT_NAME(fontSize);

- (NSString*)fontSize NS_SWIFT_NAME(fontSize());

@property (nonatomic,readonly,assign,getter=fontStyle) NSString* fontStyle NS_SWIFT_NAME(fontStyle);

- (NSString*)fontStyle NS_SWIFT_NAME(fontStyle());

@property (nonatomic,readwrite,assign,getter=inputData,setter=setInputData:) NSData* inputData NS_SWIFT_NAME(inputData);

- (NSData*)inputData NS_SWIFT_NAME(inputData());
- (void)setInputData :(NSData*)newInputData NS_SWIFT_NAME(setInputData(_:));

@property (nonatomic,readwrite,assign,getter=inputFile,setter=setInputFile:) NSString* inputFile NS_SWIFT_NAME(inputFile);

- (NSString*)inputFile NS_SWIFT_NAME(inputFile());
- (void)setInputFile :(NSString*)newInputFile NS_SWIFT_NAME(setInputFile(_:));

@property (nonatomic,readwrite,assign,getter=mediaCount,setter=setMediaCount:) int mediaCount NS_SWIFT_NAME(mediaCount);

- (int)mediaCount NS_SWIFT_NAME(mediaCount());
- (void)setMediaCount :(int)newMediaCount NS_SWIFT_NAME(setMediaCount(_:));

- (NSString*)mediaContentType:(int)mediaIndex NS_SWIFT_NAME(mediaContentType(_:));

- (NSString*)mediaData:(int)mediaIndex NS_SWIFT_NAME(mediaData(_:));
- (void)setMediaData:(int)mediaIndex :(NSString*)newMediaData NS_SWIFT_NAME(setMediaData(_:_:));

- (NSData*)mediaDataB:(int)mediaIndex NS_SWIFT_NAME(mediaDataB(_:));
- (void)setMediaDataB:(int)mediaIndex :(NSData*)newMediaData NS_SWIFT_NAME(setMediaDataB(_:_:));


- (int)mediaHeight:(int)mediaIndex NS_SWIFT_NAME(mediaHeight(_:));

- (long long)mediaSize:(int)mediaIndex NS_SWIFT_NAME(mediaSize(_:));

- (int)mediaWidth:(int)mediaIndex NS_SWIFT_NAME(mediaWidth(_:));

@property (nonatomic,readwrite,assign,getter=newPageHandle,setter=setNewPageHandle:) long long newPageHandle NS_SWIFT_NAME(newPageHandle);

- (long long)newPageHandle NS_SWIFT_NAME(newPageHandle());
- (void)setNewPageHandle :(long long)newNewPageHandle NS_SWIFT_NAME(setNewPageHandle(_:));

@property (nonatomic,readonly,assign,getter=newPageHeight) NSString* newPageHeight NS_SWIFT_NAME(newPageHeight);

- (NSString*)newPageHeight NS_SWIFT_NAME(newPageHeight());

@property (nonatomic,readonly,assign,getter=newPageRotate) int newPageRotate NS_SWIFT_NAME(newPageRotate);

- (int)newPageRotate NS_SWIFT_NAME(newPageRotate());

@property (nonatomic,readonly,assign,getter=newPageWidth) NSString* newPageWidth NS_SWIFT_NAME(newPageWidth);

- (NSString*)newPageWidth NS_SWIFT_NAME(newPageWidth());

@property (nonatomic,readonly,assign,getter=outputData) NSData* outputData NS_SWIFT_NAME(outputData);

- (NSData*)outputData NS_SWIFT_NAME(outputData());

@property (nonatomic,readwrite,assign,getter=outputFile,setter=setOutputFile:) NSString* outputFile NS_SWIFT_NAME(outputFile);

- (NSString*)outputFile NS_SWIFT_NAME(outputFile());
- (void)setOutputFile :(NSString*)newOutputFile NS_SWIFT_NAME(setOutputFile(_:));

@property (nonatomic,readwrite,assign,getter=overwrite,setter=setOverwrite:) BOOL overwrite NS_SWIFT_NAME(overwrite);

- (BOOL)overwrite NS_SWIFT_NAME(overwrite());
- (void)setOverwrite :(BOOL)newOverwrite NS_SWIFT_NAME(setOverwrite(_:));

@property (nonatomic,readwrite,assign,getter=password,setter=setPassword:) NSString* password NS_SWIFT_NAME(password);

- (NSString*)password NS_SWIFT_NAME(password());
- (void)setPassword :(NSString*)newPassword NS_SWIFT_NAME(setPassword(_:));

@property (nonatomic,readonly,assign,getter=positionPageIndex) int positionPageIndex NS_SWIFT_NAME(positionPageIndex);

- (int)positionPageIndex NS_SWIFT_NAME(positionPageIndex());

@property (nonatomic,readonly,assign,getter=positionX) NSString* positionX NS_SWIFT_NAME(positionX);

- (NSString*)positionX NS_SWIFT_NAME(positionX());

@property (nonatomic,readonly,assign,getter=positionY) NSString* positionY NS_SWIFT_NAME(positionY);

- (NSString*)positionY NS_SWIFT_NAME(positionY());

@property (nonatomic,readonly,assign,getter=selectedPageHandle) long long selectedPageHandle NS_SWIFT_NAME(selectedPageHandle);

- (long long)selectedPageHandle NS_SWIFT_NAME(selectedPageHandle());

@property (nonatomic,readonly,assign,getter=selectedPageHeight) NSString* selectedPageHeight NS_SWIFT_NAME(selectedPageHeight);

- (NSString*)selectedPageHeight NS_SWIFT_NAME(selectedPageHeight());

@property (nonatomic,readonly,assign,getter=selectedPageRotate) int selectedPageRotate NS_SWIFT_NAME(selectedPageRotate);

- (int)selectedPageRotate NS_SWIFT_NAME(selectedPageRotate());

@property (nonatomic,readonly,assign,getter=selectedPageWidth) NSString* selectedPageWidth NS_SWIFT_NAME(selectedPageWidth);

- (NSString*)selectedPageWidth NS_SWIFT_NAME(selectedPageWidth());

  /* Methods */

- (void)addAttachment:(NSString*)fileName :(NSString*)description NS_SWIFT_NAME(addAttachment(_:_:));

- (void)addBitmap:(NSString*)format :(NSData*)bitmapBytes :(int)width :(int)height NS_SWIFT_NAME(addBitmap(_:_:_:_:));

- (void)addDrawing:(NSString*)format :(NSData*)drawingBytes NS_SWIFT_NAME(addDrawing(_:_:));

- (void)addTextBlock:(NSString*)text NS_SWIFT_NAME(addTextBlock(_:));

- (void)appendPage NS_SWIFT_NAME(appendPage());

- (void)close NS_SWIFT_NAME(close());

- (NSString*)config:(NSString*)configurationString NS_SWIFT_NAME(config(_:));

- (void)convert:(NSString*)format NS_SWIFT_NAME(convert(_:));

- (void)createNew NS_SWIFT_NAME(createNew());

- (BOOL)encrypted NS_SWIFT_NAME(encrypted());

- (NSString*)getDocumentProperty:(NSString*)documentProperty NS_SWIFT_NAME(getDocumentProperty(_:));

- (NSString*)getDocumentText NS_SWIFT_NAME(getDocumentText());

- (NSString*)getPageProperty:(int)pageIndex :(NSString*)pageProperty NS_SWIFT_NAME(getPageProperty(_:_:));

- (NSString*)getPageText:(int)pageIndex NS_SWIFT_NAME(getPageText(_:));

- (void)insertPage:(int)pageIndex NS_SWIFT_NAME(insertPage(_:));

- (void)open NS_SWIFT_NAME(open());

- (void)removeAttachment:(int)index NS_SWIFT_NAME(removeAttachment(_:));

- (void)removePage:(int)pageIndex NS_SWIFT_NAME(removePage(_:));

- (void)removePages:(int)pageIndex :(int)count NS_SWIFT_NAME(removePages(_:_:));

- (int)replaceDocumentText:(NSString*)pattern :(NSString*)value NS_SWIFT_NAME(replaceDocumentText(_:_:));

- (int)replacePageText:(int)pageIndex :(NSString*)pattern :(NSString*)value NS_SWIFT_NAME(replacePageText(_:_:_:));

- (void)reset NS_SWIFT_NAME(reset());

- (void)saveAttachment:(int)index :(NSString*)fileName NS_SWIFT_NAME(saveAttachment(_:_:));

- (void)saveMedia:(int)index :(NSString*)fileName NS_SWIFT_NAME(saveMedia(_:_:));

- (void)selectPage:(int)pageIndex NS_SWIFT_NAME(selectPage(_:));

- (void)setAlignment:(int)horizontalAlignment :(int)verticalAlignment NS_SWIFT_NAME(setAlignment(_:_:));

- (void)setDocumentProperty:(NSString*)documentProperty :(NSString*)value NS_SWIFT_NAME(setDocumentProperty(_:_:));

- (void)setFont:(NSString*)name :(NSString*)size :(NSString*)style :(NSString*)color NS_SWIFT_NAME(setFont(_:_:_:_:));

- (void)setPosition:(int)pageIndex :(NSString*)X :(NSString*)Y NS_SWIFT_NAME(setPosition(_:_:_:));

- (void)setTransform:(NSString*)translationX :(NSString*)translationY :(NSString*)scaleX :(NSString*)scaleY :(NSString*)rotation :(NSString*)skewA :(NSString*)skewB NS_SWIFT_NAME(setTransform(_:_:_:_:_:_:_:));

@end

