/** * AIT file reader implementation. */ import { AITBundle, AITMetadata, Permission } from "@apps-in-toss/ait-format-proto"; export interface AITReaderOptions { /** Tuple of supported format versions */ supportedVersions?: number[]; } /** * Reader for AIT (Apps-in-Toss) bundle files. * * @example * ```typescript * const reader = AITReader.fromBuffer(buffer); * console.log(reader.deploymentId); * console.log(reader.appName); * console.log(reader.metadata); * const data = await reader.readEntry("index.html"); * ``` */ export declare class AITReader { private readonly buffer; private readonly view; private readonly supportedVersions; private _formatVersion; private _bundle; private _zipBlobOffset; private _zipBlobLength; private constructor(); /** * Create an AITReader from a buffer. */ static fromBuffer(buffer: Uint8Array, options?: AITReaderOptions): AITReader; /** * Create an AITReader from an ArrayBuffer. */ static fromArrayBuffer(buffer: ArrayBuffer, options?: AITReaderOptions): AITReader; private readHeader; private readBundle; private readZipHeader; private arraysEqual; /** Get the format version */ get formatVersion(): number; /** Get the deployment ID */ get deploymentId(): string; /** Get the application name */ get appName(): string; /** Get the bundle */ get bundle(): AITBundle; /** Get the metadata */ get metadata(): AITMetadata | undefined; /** Get the permissions */ get permissions(): Permission[]; /** * Read the entire ZIP blob. */ readZipBlob(): Uint8Array; /** * Read a single entry from the ZIP blob. */ readEntry(name: string): Promise; /** * List all entry names in the ZIP blob. */ listEntries(): string[]; /** * Read the signature if present. */ readSignature(): Uint8Array | null; /** * Convert bundle to app.json format. * * @returns Object in app.json format with appName, permissions, and _metadata. */ toAppJson(): AppJson; } /** app.json format */ export interface AppJson { appName: string; permissions: Array<{ name: string; access: string; }>; _metadata: AppJsonMetadata; } export interface AppJsonMetadata { deploymentId: string; runtimeVersion?: string; bundleFiles?: string[]; packageJson?: Record; sdkVersion?: string; } //# sourceMappingURL=reader.d.ts.map