/** * ZIP record builders (PKWARE APPNOTE) * * Shared by streaming zip writer and buffer zip builder. */ /** * Shared ZIP64 mode type. * * - "auto": write ZIP64 only when required by ZIP limits. * - true: force ZIP64 structures. * - false: forbid ZIP64; throw if required. */ export type Zip64Mode = boolean | "auto"; export declare const LOCAL_FILE_HEADER_SIG = 67324752; export declare const CENTRAL_DIR_HEADER_SIG = 33639248; export declare const END_OF_CENTRAL_DIR_SIG = 101010256; export declare const DATA_DESCRIPTOR_SIG = 134695760; export declare const ZIP64_END_OF_CENTRAL_DIR_SIG = 101075792; export declare const ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIG = 117853008; export declare const VERSION_NEEDED = 20; export declare const VERSION_MADE_BY = 20; export declare const VERSION_ZIP64 = 45; export declare const COMPRESSION_STORE = 0; export declare const COMPRESSION_DEFLATE = 8; export declare const COMPRESSION_AES = 99; export declare const FLAG_ENCRYPTED = 1; export declare const FLAG_UTF8 = 2048; export declare const FLAG_DATA_DESCRIPTOR = 8; /** Unix file type mask */ export declare const S_IFMT = 61440; /** Unix symbolic link type */ export declare const S_IFLNK = 40960; /** Unix directory type */ export declare const S_IFDIR = 16384; /** Unix regular file type */ export declare const S_IFREG = 32768; /** MS-DOS / Windows OS code */ export declare const ZIP_OS_MSDOS = 0; /** Unix OS code */ export declare const ZIP_OS_UNIX = 3; /** * Extract Unix mode from ZIP external attributes. * Returns 0 if no Unix mode information is available. */ export declare function getUnixModeFromExternalAttributes(externalAttributes: number): number; /** * Get the OS code from versionMadeBy field. */ export declare function getOsFromVersionMadeBy(versionMadeBy: number | undefined): number; /** * Check if Unix mode indicates a symbolic link. */ export declare function isSymlinkMode(mode: number): boolean; /** * Check if Unix mode indicates a directory. */ export declare function isDirectoryMode(mode: number): boolean; export declare const UINT16_MAX = 65535; export declare const UINT32_MAX = 4294967295; export declare const ZIP_LOCAL_FILE_HEADER_FIXED_SIZE = 30; export declare const ZIP_CENTRAL_DIR_HEADER_FIXED_SIZE = 46; export declare const ZIP_END_OF_CENTRAL_DIR_FIXED_SIZE = 22; export declare const ZIP64_END_OF_CENTRAL_DIR_FIXED_SIZE = 56; export declare const ZIP64_END_OF_CENTRAL_DIR_LOCATOR_FIXED_SIZE = 20; export declare const ZIP64_EXTRA_FIELD_ID = 1; export interface ZipLocalFileHeaderInput { fileName: Uint8Array; extraField: Uint8Array; flags: number; compressionMethod: number; dosTime: number; dosDate: number; crc32: number; compressedSize: number; uncompressedSize: number; versionNeeded?: number; } export declare function writeLocalFileHeaderInto(out: Uint8Array, view: DataView, offset: number, input: ZipLocalFileHeaderInput): number; export declare function buildLocalFileHeader(input: ZipLocalFileHeaderInput): Uint8Array; export interface ZipCentralDirectoryHeaderInput { fileName: Uint8Array; extraField: Uint8Array; comment: Uint8Array; flags: number; compressionMethod: number; dosTime: number; dosDate: number; crc32: number; compressedSize: number; uncompressedSize: number; localHeaderOffset: number; versionMadeBy?: number; versionNeeded?: number; externalAttributes?: number; } export declare function writeCentralDirectoryHeaderInto(out: Uint8Array, view: DataView, offset: number, input: ZipCentralDirectoryHeaderInput): number; export declare function buildCentralDirectoryHeader(input: ZipCentralDirectoryHeaderInput): Uint8Array; export interface ZipEndOfCentralDirectoryInput { entryCount: number; centralDirSize: number; centralDirOffset: number; comment: Uint8Array; } export declare function writeEndOfCentralDirectoryInto(out: Uint8Array, view: DataView, offset: number, input: ZipEndOfCentralDirectoryInput): number; export declare function buildEndOfCentralDirectory(input: ZipEndOfCentralDirectoryInput): Uint8Array; export declare function buildDataDescriptor(crc32: number, compressedSize: number, uncompressedSize: number): Uint8Array; export declare function buildDataDescriptorZip64(crc32: number, compressedSize: number, uncompressedSize: number): Uint8Array; export declare function buildZip64ExtraField(input: { uncompressedSize?: number; compressedSize?: number; localHeaderOffset?: number; diskNumberStart?: number; }): Uint8Array; export declare function concatExtraFields(a: Uint8Array, b: Uint8Array): Uint8Array; export interface Zip64EndOfCentralDirectoryInput { versionMadeBy?: number; versionNeeded?: number; diskNumber?: number; centralDirectoryDiskNumber?: number; entryCountOnDisk: number; entryCountTotal: number; centralDirSize: number; centralDirOffset: number; } export declare function writeZip64EndOfCentralDirectoryInto(out: Uint8Array, view: DataView, offset: number, input: Zip64EndOfCentralDirectoryInput): number; export declare function buildZip64EndOfCentralDirectory(input: Zip64EndOfCentralDirectoryInput): Uint8Array; export interface Zip64EndOfCentralDirectoryLocatorInput { zip64EndOfCentralDirectoryDiskNumber?: number; zip64EndOfCentralDirectoryOffset: number; totalDisks?: number; } export declare function writeZip64EndOfCentralDirectoryLocatorInto(out: Uint8Array, view: DataView, offset: number, input: Zip64EndOfCentralDirectoryLocatorInput): number; export declare function buildZip64EndOfCentralDirectoryLocator(input: Zip64EndOfCentralDirectoryLocatorInput): Uint8Array;