/** * Artifact Store for Railgun Circuit Files * * Stores circuit artifacts (wasm, zkey, vkey) persistently. * - Browser: Uses IndexedDB for persistent storage * - Node.js: Uses file system for persistent storage * * Total size: ~9.5MB (downloaded once, cached forever) * * This enables client-side ZK proof generation without re-downloading * circuit files on every session. */ type GetArtifact = (path: string) => Promise; type StoreArtifact = (dir: string, path: string, item: string | Uint8Array) => Promise; type ArtifactExists = (path: string) => Promise; declare class ArtifactStore { get: GetArtifact; store: StoreArtifact; exists: ArtifactExists; constructor(get: GetArtifact, store: StoreArtifact, exists: ArtifactExists); } /** * Creates an artifact store for Railgun circuits * Automatically uses the right storage backend based on environment: * - Browser: IndexedDB * - Node.js: File system * * @returns ArtifactStore instance */ export declare function createIndexedDBArtifactStore(): Promise; /** * Clears all cached artifacts * - Browser: Deletes IndexedDB * - Node.js: Deletes cache directory */ export declare function clearArtifactCache(): Promise; /** * Checks if artifacts are already cached * Can be used to show different UI for first-time vs returning users */ export declare function areArtifactsCached(): Promise; export {};