import type { ArchiveAuditReport, ArchiveDetectionReport, ArchiveEntry, ArchiveFormat, ArchiveLimits, ArchiveNormalizeReport } from './types.js'; /** Options for auditing archives opened through the archive facade. */ export type ArchiveAuditOptions = { /** Resource ceilings used during audit/open checks. */ limits?: ArchiveLimits; /** Abort signal for long-running audit operations. */ signal?: AbortSignal; }; /** Options for normalization through the archive facade. */ export type ArchiveNormalizeOptions = { /** Enable deterministic output ordering/metadata normalization. */ isDeterministic?: boolean; /** Resource ceilings for normalize read/write phases. */ limits?: ArchiveLimits; /** Abort signal for normalization pipelines. */ signal?: AbortSignal; }; /** Inputs accepted by the bytefold facade in every supported runtime. */ export type ArchiveInput = Uint8Array | ArrayBuffer | ReadableStream | Blob | string | URL; /** In-memory and streaming inputs accepted by the archive core. */ export type ArchiveDataInput = Exclude; /** Unified archive reader returned by `openArchive()`. */ export type ArchiveReader = { /** Detected or forced archive format for this reader instance. */ format: ArchiveFormat; /** Detection metadata when the reader was opened through `openArchive`. */ detection?: ArchiveDetectionReport; /** Async iterator over normalized archive entries. */ entries(): AsyncGenerator; /** Run a non-mutating safety/structure audit. */ audit(options?: ArchiveAuditOptions): Promise; /** Throw when the archive does not satisfy the reader's safety profile. */ assertSafe(options?: ArchiveAuditOptions): Promise; /** Release resources retained by this reader. Safe to call more than once. */ close(): Promise; /** Rewrite archive output deterministically when supported by the format. */ normalizeToWritable?(writable: WritableStream, options?: ArchiveNormalizeOptions): Promise; }; /** Input accepted for an archive writer entry. */ export type ArchiveWriterSource = Uint8Array | ArrayBuffer | ReadableStream | AsyncIterable; /** Formats supported by the archive writer facade. */ export type ArchiveWriterFormat = 'zip' | 'tar' | 'tgz' | 'tar.gz' | 'tar.zst' | 'tar.br'; /** ZIP64 policy accepted by unified ZIP writer entries. */ export type ArchiveWriterZip64Mode = 'auto' | 'force' | 'off'; /** TAR entry kinds accepted by the unified archive writer. */ export type ArchiveWriterEntryType = 'file' | 'directory' | 'symlink' | 'link' | 'character' | 'block' | 'fifo' | 'unknown'; /** Entry options selected from the writer's format. */ export type ArchiveWriterAddOptions = { /** Modified timestamp written to entry metadata. */ mtime?: Date; /** Abort signal for this ZIP add operation. */ signal?: 'zip' extends Format ? AbortSignal : never; /** ZIP compression method override. */ method?: 'zip' extends Format ? number : never; /** ZIP entry comment. */ comment?: 'zip' extends Format ? string : never; /** ZIP64 policy override. */ zip64?: 'zip' extends Format ? ArchiveWriterZip64Mode : never; /** ZIP external attribute bits. */ externalAttributes?: 'zip' extends Format ? number : never; /** TAR entry type. */ type?: Extract extends never ? never : ArchiveWriterEntryType; /** TAR POSIX mode bits. */ mode?: Extract extends never ? never : number; /** TAR user id. */ uid?: Extract extends never ? never : number; /** TAR group id. */ gid?: Extract extends never ? never : number; /** TAR link target. */ linkName?: Extract extends never ? never : string; /** TAR payload size hint for streaming sources. */ size?: Extract extends never ? never : bigint; /** TAR user name. */ uname?: Extract extends never ? never : string; /** TAR group name. */ gname?: Extract extends never ? never : string; /** TAR PAX metadata. */ pax?: Extract extends never ? never : Record; }; /** Unified archive writer API for ZIP, TAR, and layered formats. */ export type ArchiveWriter = { /** Output format for entries written through this writer. */ format: Format; /** Append one entry from bytes/stream/async iterable input. */ add(name: string, source: ArchiveWriterSource, options?: ArchiveWriterAddOptions): Promise; /** Abort without writing archive trailers and release the output destination. */ abort(reason?: unknown): Promise; /** Finalize central directory/footer metadata and flush output. */ close(): Promise; }; /** Options for creating archive writers, constrained by output format. */ export type ArchiveWriterOptions = { /** Abort signal for writer operations. */ signal?: AbortSignal; /** Force ZIP64 metadata regardless of payload size. */ shouldForceZip64?: 'zip' extends Format ? boolean : never; /** Default ZIP compression method. */ defaultMethod?: 'zip' extends Format ? number : never; /** ZIP seekability policy for output sink optimization. */ sinkSeekabilityPolicy?: 'zip' extends Format ? 'auto' | 'on' | 'off' : never; /** Enable deterministic TAR metadata defaults. */ isDeterministic?: Extract extends never ? never : boolean; /** Compression settings for layered TAR output. */ compression?: Extract extends never ? never : { level?: number; quality?: number; }; }; //# sourceMappingURL=contracts.d.ts.map