import Long from 'long'; import { PSTMessage } from './PSTMessage.class.js'; import type { PLNode } from './PLNode.js'; import type { PropertyValueResolver } from './PropertyValueResolver.js'; import type { PLSubNode } from './PLSubNode.js'; import type { RootProvider } from './RootProvider.js'; /** * Utility functions for PST components * @export * @class PSTUtil */ export declare class PSTUtil { static compEnc: number[]; static codePages: Map; static propertyName: Map; static NID_TYPE_HID: number; static NID_TYPE_INTERNAL: number; static NID_TYPE_NORMAL_FOLDER: number; static NID_TYPE_SEARCH_FOLDER: number; static NID_TYPE_NORMAL_MESSAGE: number; static NID_TYPE_ATTACHMENT: number; static NID_TYPE_SEARCH_UPDATE_QUEUE: number; static NID_TYPE_SEARCH_CRITERIA_OBJECT: number; static NID_TYPE_ASSOC_MESSAGE: number; static NID_TYPE_CONTENTS_TABLE_INDEX: number; static NID_TYPE_RECEIVE_FOLDER_TABLE: number; static NID_TYPE_OUTGOING_QUEUE_TABLE: number; static NID_TYPE_HIERARCHY_TABLE: number; static NID_TYPE_CONTENTS_TABLE: number; static NID_TYPE_ASSOC_CONTENTS_TABLE: number; static NID_TYPE_SEARCH_CONTENTS_TABLE: number; static NID_TYPE_ATTACHMENT_TABLE: number; static NID_TYPE_RECIPIENT_TABLE: number; static NID_TYPE_SEARCH_TABLE_INDEX: number; static NID_TYPE_LTP: number; /** * Convert little endian bytes to long */ static convertLittleEndianBytesToLong(data: Uint8Array, start?: number, end?: number): Long; /** * Convert big endian bytes to long */ static convertBigEndianBytesToLong(data: Uint8Array, start?: number, end?: number): Long; /** * Handle strings using codepages. */ static getInternetCodePageCharset(propertyId: number): string | undefined; /** * Copy from one array to another */ static arraycopy(src: Uint8Array, srcPos: number, dest: Uint8Array, destPos: number, length: number): void; /** * Determine if character is alphanumeric * * @static */ static isAlphaNumeric: (ch: string) => boolean; /** * Decode a lump of data that has been encrypted with the compressible encryption */ static decode(data: Uint8Array): Uint8Array; /** * Decode a lump of data that has been encrypted with the compressible encryption */ static decodeArray(data: Uint8Array): Uint8Array; /** * Creates object based on message class * https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/item-types-and-message-classes * @static * @param {PSTFile} rootProvider * @param {DescriptorIndexNode} folderIndexNode * @param {PSTTableBC} table * @param {Map} localDescriptorItems * @returns {PSTMessage} */ static createAppropriatePSTMessageObject(rootProvider: RootProvider, node: PLNode, subNode: PLSubNode, resolver: PropertyValueResolver): Promise; /** * Converts a Windows FILETIME into a {@link Date}. The Windows FILETIME structure holds a date and time associated with a * file. The structure identifies a 64-bit integer specifying the number of 100-nanosecond intervals which have passed since * January 1, 1601. This 64-bit value is split into the two double words stored in the structure. * * @static * @param {long} hi * @param {long} low * @returns {Date} */ static filetimeToDate(hi: Long, low: Long): Date; static createConvertAnsiString(encoding: string): ((data: Uint8Array) => Promise); static createConvertAnsiStringImm(encoding: string): ((data: Uint8Array) => string); static encodeUtf8String(str: string): Uint8Array; static decodeUtf16leString(data: Uint8Array): string; }