export declare const EXTENDED_TIMESTAMP_ID = 21589; export declare const NTFS_TIMESTAMP_ID = 10; export interface ZipExtraTimestamps { /** Access time. */ atime?: Date; /** Metadata change time (Unix ctime). */ ctime?: Date; /** Creation time (Windows/NTFS "btime"). */ birthTime?: Date; } /** * DOS date/time helpers for ZIP files. */ /** * Convert Date to DOS time/date fields. * * Note: uses local time fields (getHours/getMinutes/getSeconds), * which matches common ZIP writer behavior. */ export declare function dateToDos(date: Date): [number, number]; /** * Parse DOS date/time to JS Date. */ export declare function parseDosDateTimeUTC(date: number, time?: number): Date; /** * How to write timestamps in ZIP headers. * * ZIP always has DOS date/time fields; `dos+utc` additionally writes the Info-ZIP * extended timestamp extra field (0x5455) for a UTC mtime. */ /** * - "dos": DOS date/time only * - "dos+utc": also writes Info-ZIP extended timestamp (0x5455) for UTC mtime (and optional atime/ctime) * - "dos+utc+ntfs": additionally writes NTFS timestamps (0x000a) including creation time */ export type ZipTimestampMode = "dos" | "dos+utc" | "dos+utc+ntfs"; export declare function resolveZipLastModifiedDateFromUnixSeconds(dosDate: number, dosTime: number, mtimeUnixSeconds?: number): Date; export declare function resolveZipLastModifiedDateFromExtraField(dosDate: number, dosTime: number, extraField: Uint8Array): Date; export declare function buildZipTimestampExtraField(modTime: Date, mode: ZipTimestampMode, extra?: ZipExtraTimestamps): Uint8Array; export declare function dateToZipDos(modTime: Date): { dosTime: number; dosDate: number; };