/**
* An interface defining user security settings for a PDF document. Allows the developer to control user
* access passwords, encryption, and also who may edit, print and copy content from the PDF document
* Implemented in {@link PdfDocument.setPermission}.
*/
export interface PdfPermission {
/**
* No permissions (restrict all)
*/
None ?: boolean | undefined;
/**
* Sets the permissions for users to extract or 'copy & paste' content (text and images) from the PDF document for accessibility.
*
* `true` if users may 'copy and paste' content out of the PDF otherwise, `false`.
*/
AllowAccessibilityExtractContent ?: boolean | undefined;
/**
* Sets the permissions for users to annotate the PDF document with comments.
* If AllowUserAnnotations is set `false`, the {@link PdfDocument.setOwnerPassword} must be set for the security
* measure to take effect.
*/
AllowAnnotations ?: boolean | undefined;
/**
* Sets the permissions for users to add or insert pages to the PDF document
*/
AllowAssembleDocument ?: boolean | undefined;
/**
* Sets the permissions for users to extract or 'copy & paste' content (text and images) from
* the PDF document.
*
* If AllowUserCopyPasteContent is set `false`, the {@link PdfDocument.setOwnerPassword} must also be set for the security measure to take effect.
*
* `true` if users may 'copy and paste' content out of the PDF otherwise, `false`.
*/
AllowExtractContent ?: boolean | undefined;
/**
* Sets the permissions for users to fill-in (enter data into) forms in the PDF document. If
* AllowUserFormData is set `false`, the {@link PdfDocument.setOwnerPassword} must be set for the security
* measure to take effect.
*
* If you want to make the form readonly in Adobe Acrobat Reader
* please call {@link PdfDocument.MakePdfDocumentReadOnly} method or set {@link PdfPermission.AllowModify} to `false`
* and set {@link PdfDocument.setOwnerPassword}.
*
*
* `true` if users may annotate the PDF document, otherwise `false`. Setting AllowUserFormData
* `true` will also enable annotations.
*/
AllowFillForms ?: boolean | undefined;
/**
* In `false` user may only print the PDF at low resolution unless they have the Owner password.
*/
AllowPrintFullQuality ?: boolean | undefined;
/**
* Gets or sets the permissions for users edit the PDF document. The features to edit the document depends
* entirely on the PDF client software used by the end user.
*
* If editing rights are restricted, then
* the {@link PdfDocument.setOwnerPassword} must be set for the security measure to take effect.
*/
AllowModify ?: boolean | undefined;
/**
* Gets or sets the permissions for users to print the PDF document.
*
* If print rights are restricted,
* then the {@link PdfDocument.setOwnerPassword} must be set for the security measure to take effect.
*/
AllowPrint ?: boolean | undefined;
/**
* Allow all
*/
AllowAll ?: boolean | undefined;
}