import type { ModelProgressUpdate } from '../../schemas/index.js'; import type { QVACBlobBinding } from '@qvac/registry-client'; import type { AbortSignal } from 'bare-abort-controller'; import type { DownloadHooks } from './types.js'; export { DEFAULT_REGISTRY_STREAM_TIMEOUT_MS, buildRegistryClientOptions } from './registry-client-options.js'; export type { RegistryClientDownloadOptions } from './registry-client-options.js'; export declare function buildBlobBinding(meta: { blobCoreKey: string; blobBlockOffset: number; blobBlockLength: number; blobByteOffset: number; expectedSize: number; sha256Checksum: string; }): QVACBlobBinding; /** * Validate a cached file against expected size and checksum. */ export declare function validateCachedFile(modelPath: string, modelFileName: string, expectedSize: number, expectedChecksum?: string, hooks?: DownloadHooks): Promise; /** * Download a single file from the registry to filesystem. * When blobBinding is provided, uses direct blob download (skips metadata sync). * Otherwise falls back to metadata-based downloadModel. */ export declare function downloadSingleFileFromRegistry(registryPath: string, registrySource: string, modelPath: string, modelFileName: string, downloadKey: string, expectedSize: number, expectedChecksum: string, progressCallback?: (progress: ModelProgressUpdate) => void, signal?: AbortSignal, blobBinding?: QVACBlobBinding, hooks?: DownloadHooks): Promise;