import type { Zip64Mode } from "../zip-spec/zip-records.js"; import type { ZipCentralDirEntry } from "./writable-file.js"; /** * Input type for building Central Directory entries. * * This is a superset of ZipCentralDirEntry with fields renamed to match * the build function naming conventions. */ export interface ZipCentralDirectoryEntryInput { fileName: Uint8Array; extraField: Uint8Array; comment: Uint8Array; flags: number; crc32: number; compressedSize: number; uncompressedSize: number; compressionMethod: number; dosTime: number; dosDate: number; localHeaderOffset: number; zip64?: boolean; externalAttributes: number; versionMadeBy?: number; } export interface ZipCentralDirectoryBuildResult { centralDirectoryHeaders: Uint8Array[]; centralDirSize: number; trailerRecords: Uint8Array[]; usedZip64: boolean; } export interface ZipCentralDirectoryWriteResult { centralDirSize: number; trailerSize: number; totalWritten: number; usedZip64: boolean; } export interface ZipCentralDirectorySizingResult { centralDirSize: number; trailerSize: number; totalSize: number; usedZip64: boolean; } type ZipCentralDirectoryBuildEntry = ZipCentralDirectoryEntryInput | ZipCentralDirEntry; type ZipCentralDirectoryProcessedEntry = { name: Uint8Array; extraField: Uint8Array; comment: Uint8Array; flags: number; crc: number; compressedData: Uint8Array; uncompressedSize: number; compressionMethod: number; modTime: number; modDate: number; offset: number; externalAttributes: number; versionMadeBy?: number; }; type AnyCentralDirectoryEntry = ZipCentralDirectoryBuildEntry | ZipCentralDirectoryProcessedEntry; export declare function measureCentralDirectoryAndEocd(entries: AnyCentralDirectoryEntry[], options: { zipComment: Uint8Array; zip64Mode: Zip64Mode; centralDirOffset: number; }): ZipCentralDirectorySizingResult; export declare function buildCentralDirectoryAndEocd(entries: AnyCentralDirectoryEntry[], options: { zipComment: Uint8Array; zip64Mode: Zip64Mode; centralDirOffset: number; }): ZipCentralDirectoryBuildResult; export declare function writeCentralDirectoryAndEocdInto(entries: AnyCentralDirectoryEntry[], options: { zipComment: Uint8Array; zip64Mode: Zip64Mode; centralDirOffset: number; out: Uint8Array; offset: number; }): ZipCentralDirectoryWriteResult; export {};