import { ByteArray } from '../../types.js'; /** * Compute the master encryption key for a PDF file. * * @param password User-supplied password (empty if no password) * @param ownerKey Owner key (/O value) * @param permissions /P value * @param id0 First element of /ID array * @param keyLengthBits Usually 40, 128 or 256 * @param encryptMetadata Whether /EncryptMetadata is false */ export declare function computeMasterKey(password: ByteArray, ownerKey: ByteArray, permissions: number, id0: ByteArray, keyLengthBits: number, encryptMetadata: boolean, revision?: number): Promise; /** * Derives an object-specific encryption key from the master key. * Used to encrypt individual PDF objects with unique keys. * * @param mkey - The master encryption key. * @param objNumber - The PDF object number. * @param objGeneration - The PDF object generation number. * @param useAesSalt - Whether to include the AES salt ('sAlT'). Defaults to true. * @returns A promise that resolves to the derived object key. * * @example * ```typescript * const objectKey = await deriveObjectKey(masterKey, 5, 0) * ``` */ export declare function deriveObjectKey(mkey: ByteArray, objNumber: number, objGeneration: number, useAesSalt?: boolean): Promise;