import type { RDRRManifest, HashAlgorithm } from '../formats/rdrr/types.js'; import type { OpfsPathConfigSchema } from '../config/schema/loading.schema.js'; export { getManifest } from '../formats/rdrr/parsing.js'; export interface ShardWriteOptions { verify?: boolean; } export interface ShardWriteResult { success: boolean; hash: string | null; } export interface ShardReadOptions { verify?: boolean; tensorId?: string | null; } export interface ShardRangeStreamOptions extends ShardReadOptions { chunkBytes?: number; } export interface IntegrityResult { valid: boolean; missingShards: number[]; corruptShards: number[]; corruptTensors: string[]; } export interface ModelInfo { exists: boolean; shardCount: number; totalSize: number; hasManifest: boolean; } export interface StreamingHasher { update(data: Uint8Array): void; finalize(): Promise; } export interface ShardWriteStream { write(chunk: Uint8Array | ArrayBuffer): Promise; close(): Promise; abort(): Promise; } export interface ShardWriterOptions { append?: boolean; expectedOffset?: number | null; } export interface StorageCapabilities { opfs: boolean; indexeddb: boolean; sharedArrayBuffer: boolean; byob: boolean; syncAccessHandle: boolean; } export function setOpfsPathConfig(config: OpfsPathConfigSchema): void; export function getOpfsPathConfig(): OpfsPathConfigSchema; export function getHashAlgorithm(): HashAlgorithm | null; export function hexToBytes(hex: string): Uint8Array; export function computeBlake3(data: Uint8Array | ArrayBuffer): Promise; export function computeSHA256(data: Uint8Array | ArrayBuffer): Promise; export function computeHash(data: Uint8Array | ArrayBuffer, algorithm: HashAlgorithm): Promise; export function createStreamingHasher(algorithm: HashAlgorithm): Promise; export function getStorageCapabilities(): StorageCapabilities; export function getStorageBackendType(): string | null; export function initStorage(): Promise; export function openModelStore(modelId: string): Promise; export function getCurrentModelId(): string | null; export function writeShard( shardIndex: number, data: ArrayBuffer | Uint8Array, options?: ShardWriteOptions ): Promise; export function createShardWriter( shardIndex: number, options?: ShardWriterOptions ): Promise; export function createConversionShardWriter( shardIndex: number ): Promise; export function createFileWriter( filename: string, options?: ShardWriterOptions ): Promise; export function loadShard( shardIndex: number, options?: ShardReadOptions ): Promise; export function loadShardRange( shardIndex: number, offset?: number, length?: number | null, options?: ShardReadOptions ): Promise; export function streamShardRange( shardIndex: number, offset?: number, length?: number | null, options?: ShardRangeStreamOptions ): AsyncIterable; export function loadShardSync( shardIndex: number, offset?: number, length?: number ): Promise; export function checkFileExistsInBackend( storageBackend: Record, filename: string ): Promise; export function shardExists(shardIndex: number): Promise; export function getShardStoredSize(shardIndex: number): Promise; export function verifyIntegrity(options?: { checkHashes?: boolean; checkTensorRoots?: boolean }): Promise; export function deleteShard(shardIndex: number): Promise; export function deleteModel(modelId: string): Promise; export function listModels(): Promise; export function listFilesInStore(): Promise; export function loadFileFromStore(filename: string): Promise; export function loadFileRangeFromStore( filename: string, offset?: number, length?: number | null ): Promise; export function streamFileFromStore( filename: string, options?: { chunkBytes?: number; offset?: number; length?: number | null } ): AsyncIterable | null; export function getModelInfo(modelId: string): Promise; export function modelExists(modelId: string): Promise; export function saveManifest(manifestJson: string): Promise; export function loadManifestFromStore(): Promise; export function loadTensorsFromStore(): Promise; export function saveTensorsToStore(tensorsJson: string): Promise; export function saveTokenizer(tokenizerJson: string): Promise; export function loadTokenizerFromStore(): Promise; export function saveTokenizerModel(tokenizerModel: ArrayBuffer | Uint8Array): Promise; export function loadTokenizerModelFromStore(): Promise; export function saveAuxFile(filename: string, data: string | ArrayBuffer | Uint8Array): Promise; export function loadAuxFile(filename: string): Promise; export function loadAuxText(filename: string): Promise; export function deleteFileFromStore(filename: string): Promise; export function cleanup(): Promise;