import * as em from "../../Enums";
import { type ObjectManager } from "../../ObjectManager";
import { StandardSecurityHandlerRev2 } from "./StandardSecurityHandlerRev2";
/**
* Represents a Standard Security Handler Revision 3.
* This handler uses RC4 encryption with key from 40 to 128 bit length and allows
* defining additional permission flags.
**/
export declare class StandardSecurityHandlerRev3 extends StandardSecurityHandlerRev2 {
protected constructor(om: ObjectManager, id: number);
static innerCreate(om: ObjectManager, id: number): StandardSecurityHandlerRev3;
/**
* Creates a new {@link StandardSecurityHandlerRev3}.
*
* @param om - {@link ObjectManager} that controls the lifetime of the {@link StandardSecurityHandlerRev3}.
*/
static create(om?: ObjectManager): StandardSecurityHandlerRev3;
/**
* Gets or sets a value controlling how a document can be printed.
*/
get printingPermissions(): em.PrintingPermissions;
/**
* Gets or sets a value controlling how a document can be printed.
*/
set printingPermissions(value: em.PrintingPermissions);
/**
* Gets or sets a value controlling how a document can be edited.
*/
get editingPermissions(): em.EditingPermissions;
/**
* Gets or sets a value controlling how a document can be edited.
*/
set editingPermissions(value: em.EditingPermissions);
/**
* Gets or sets a value indicating whether a document's content can be copied or extracted.
*/
get copyContent(): boolean;
/**
* Gets or sets a value indicating whether a document's content can be copied or extracted.
*/
set copyContent(value: boolean);
/**
* Gets or sets a value used to determine whether content could be extracted for
* the purposes of accessibility.
* Note however that this restriction has been deprecated in PDF 2.0,
* which states that PDF readers shall ignore this bit.
* The default value of this property is true, and it should not be changed.
*/
get copyContentAccessibility(): boolean;
/**
* Gets or sets a value used to determine whether content could be extracted for
* the purposes of accessibility.
* Note however that this restriction has been deprecated in PDF 2.0,
* which states that PDF readers shall ignore this bit.
* The default value of this property is true, and it should not be changed.
*/
set copyContentAccessibility(value: boolean);
/**
* Gets or sets the length of the encryption key, in bits.
* The value must be a multiple of 8, in the range from 40 to 128.
* IMPORTANT NOTE: {@link StandardSecurityHandlerRev4} can use RC4 or AES encryption,
* and according to specification, with RC4 any key length in the range from 40 to 128 can be used.
* But tests show that current/recent versions of Adobe Acrobat Reader DC and Adobe Acrobat Pro DC
* cannot handle files encrypted with RC4 if the key length is not equal to 128.
* Older versions of Acrobat Reader handle such files without issues, so it looks like a bug in
* the newer versions of Acrobat Reader.
* So it is recommended that {@link StandardSecurityHandlerRev3} is used
* in cases when RC4 encryption with key length other than 128 is required.
*/
get encryptionKeyLength(): number;
/**
* Gets or sets the length of the encryption key, in bits.
* The value must be a multiple of 8, in the range from 40 to 128.
* IMPORTANT NOTE: {@link StandardSecurityHandlerRev4} can use RC4 or AES encryption,
* and according to specification, with RC4 any key length in the range from 40 to 128 can be used.
* But tests show that current/recent versions of Adobe Acrobat Reader DC and Adobe Acrobat Pro DC
* cannot handle files encrypted with RC4 if the key length is not equal to 128.
* Older versions of Acrobat Reader handle such files without issues, so it looks like a bug in
* the newer versions of Acrobat Reader.
* So it is recommended that {@link StandardSecurityHandlerRev3} is used
* in cases when RC4 encryption with key length other than 128 is required.
*/
set encryptionKeyLength(value: number);
}