import { PDFServicesJobParams } from "../PDFServicesJobParams"; import { EncryptionAlgorithm } from "./EncryptionAlgorithm"; import { ContentEncryption } from "./ContentEncryption"; import { Permissions } from "./Permissions"; /** * Parameters for securing PDF file with passwords and document permissions using {@link ProtectPDFJob}. */ export declare class ProtectPDFParams implements PDFServicesJobParams { private readonly _userPassword?; private readonly _ownerPassword?; private readonly _encryptionAlgorithm; private readonly _contentEncryption?; private readonly _permissions?; /** * Constructs a new `ProtectPDFParams` instance. * * @param params - The parameters for constructing a `ProtectPDFParams` instance. * @param [params.userPassword] - The user password required for opening the encrypted PDF file. * Allowed maximum length for the user password is 128 characters. * @param [params.ownerPassword] - The owner password required to control access permissions in the * encrypted PDF file. This password can also be used to open/view the encrypted PDF file. Allowed maximum length * for the user password is 128 characters. * @param params.encryptionAlgorithm The encryption algorithm required for encrypting the PDF file. * For AES-128 encryption, the password supports LATIN-I characters only. For AES-256 encryption, passwords * supports Unicode character set. Cannot be undefined. * @param [params.contentEncryption] The type of content to encrypt in the PDF file. Default value is * {@link ContentEncryption#ALL_CONTENT ALL_CONTENT}. * @param [params.permissions] The permissions for the encrypted PDF file. This includes permissions to * allow printing, editing and content copying in the PDF document. Permissions can only be used in case the * owner password is set. */ constructor(params: { userPassword?: string; ownerPassword?: string; encryptionAlgorithm: EncryptionAlgorithm; contentEncryption?: ContentEncryption; permissions?: Permissions; }); /** * Returns the user password of the resulting encrypted PDF file. * * @returns the user password */ get userPassword(): string | undefined; /** * Returns the owner password of the resulting encrypted PDF file. * * @returns the owner password. */ get ownerPassword(): string | undefined; /** * Returns the {@link EncryptionAlgorithm} of the resulting encrypted PDF file. * * @returns the encryption algorithm. */ get encryptionAlgorithm(): EncryptionAlgorithm; /** * Returns the type of {@link ContentEncryption} for the resulting encrypted PDF file. * * @returns the type of content to encrypt. */ get contentEncryption(): ContentEncryption | undefined; /** * Returns the document {@link Permissions} for the resulting encrypted PDF file. * * @returns the document permissions. */ get permissions(): Permissions | undefined; }