import { type ZipStringCodec, type ZipStringEncoding } from "../shared/text.js"; import { type ZipTimestampMode } from "../zip-spec/timestamps.js"; export interface ZipEntryMetadata { nameBytes: Uint8Array; commentBytes: Uint8Array; dosTime: number; dosDate: number; extraField: Uint8Array; compressionMethod: number; flags: number; } export interface ZipEntryMetadataInput { name: string; comment?: string; modTime: Date; atime?: Date; ctime?: Date; birthTime?: Date; timestamps: ZipTimestampMode; /** If true, set FLAG_DATA_DESCRIPTOR and expect CRC/sizes written later. */ useDataDescriptor: boolean; /** If true, use DEFLATE; else STORE. */ deflate: boolean; /** * String codec for name/comment. * Can be a pre-resolved ZipStringCodec or a ZipStringEncoding shorthand. */ codec?: ZipStringCodec | ZipStringEncoding; } export declare function resolveZipCompressionMethod(deflate: boolean): number; export declare function resolveZipFlags(useDataDescriptor: boolean, useUtf8Flag?: boolean): number; export declare function buildZipEntryMetadata(input: ZipEntryMetadataInput): ZipEntryMetadata;