import Long from 'long'; import { PSTMessageStore } from './PSTMessageStore.class.js'; import { NodeMap } from './NodeMap.class.js'; import type { PSTOpts } from './PSTOpts.js'; import type { PLStore } from './PLStore.js'; import { type PUNode } from './PUNode.js'; import type { IPSTFile } from './IPSTFile.js'; import type { IPSTFolder } from './IPSTFolder.js'; export declare class PSTFile implements IPSTFile { /** * @internal */ static ENCRYPTION_TYPE_NONE: number; /** * @internal */ static ENCRYPTION_TYPE_COMPRESSIBLE: number; static MESSAGE_STORE_DESCRIPTOR_IDENTIFIER: number; static ROOT_FOLDER_DESCRIPTOR_IDENTIFIER: number; /** * @internal */ static PST_TYPE_ANSI: number; /** * @internal */ static PST_TYPE_ANSI_2: number; /** * @internal */ static PST_TYPE_UNICODE: number; /** * @internal */ static PST_TYPE_2013_UNICODE: number; /** * @internal */ static PS_PUBLIC_STRINGS: number; /** * @internal */ static PS_INTERNET_HEADERS: number; /** * @internal */ static PSETID_Messaging: number; /** * @internal */ static PSETID_Note: number; /** * @internal */ static PSETID_PostRss: number; /** * @internal */ static PSETID_Task: number; /** * @internal */ static PSETID_UnifiedMessaging: number; /** * @internal */ static PS_MAPI: number; /** * @internal */ static PSETID_AirSync: number; /** * @internal */ static PSETID_Sharing: number; private _store; private _resolver; private _nodeMap; private _convertAnsiStringImmediately; /** * Creates an instance of PSTFile. File is opened in constructor. * @internal * @param {string} fileName */ constructor(store: PLStore, nodeMap: NodeMap, opts?: PSTOpts); /** * Close the file. */ close(): Promise; /** * Get name to ID map item. * @param {number} key * @param {number} idx * @returns {number} */ getNameToIdMapItem(key: number, idx: number): number; /** * Get public string to id map item. * @param {string} key */ getPublicStringToIdMapItem(key: string): number; /** * Get property name from id. * @param {number} propertyId * @param {boolean} bNamed * @returns {string} */ getPropertyName(propertyId: number, bNamed: boolean): string | undefined; /** * Get name to id map key. * @param {number} propId * @returns {long} */ getNameToIdMapKey(propId: number): Long | undefined; /** * Get the message store of the PST file. Note that this doesn't really * have much information, better to look under the root folder. * @returns {PSTMessageStore} */ getMessageStore(): Promise; private getFolderOf; private getItemOf; /** * Get the root folder for the PST file */ getRootFolder(): Promise; /** * Get the `Top of Outlook data file` of the PST file */ getTopOfOutlookDataFile(): Promise; private getRootProvider; /** * Requests access to the user node of the internal PST structure. * * - `NID_MESSAGE_STORE` 33 * - `NID_NAME_TO_ID_MAP` 97 * - `ROOT_FOLDER_DESCRIPTOR_IDENTIFIER` 290 (unsafe) */ requestAccessToUserNode(nodeId: number): Promise; /** * Get the store support mask should be set to `PidTagStoreSupportMask`. */ getStoreSupportMask(): number | undefined; /** * JSON stringify the object properties. * @returns {string} */ toJSON(): any; }