import type { ModuleDeliveryObserver } from '../../module-delivery'; export interface WrappedContentKeyLike { keyBytes: Uint8Array; encryptedPayload?: Uint8Array; providerEphemeralPublicKey: Uint8Array; header?: { context?: string; rootType?: string; }; keyMaterialRootType?: string; } export interface LoadedModuleHarnessLike { invoke: (request: unknown) => Promise; invokeDirect?: (request: unknown) => Promise; runtime?: { surface?: 'direct' | 'command' | string; }; memory?: WebAssembly.Memory; destroy?: () => void; } export interface LoadDecryptedModuleOptions { observer?: ModuleDeliveryObserver; sharedMemory?: boolean; initialMemoryBytes?: number; maximumMemoryBytes?: number; /** * BrowserHost capability adapters (ipfs/storage/pubsub/walletSign, e.g. * from createModuleHostCapabilityAdapters) granting the guest module host * capabilities. Forwarded as hostOptions.capabilityAdapters. */ capabilityAdapters?: Record; /** Extra BrowserHost options forwarded verbatim to the harness. */ hostOptions?: Record; } export interface GrantProtectedModuleBundleInput { grantResponseBytes: Uint8Array; encryptedBundleBytes?: Uint8Array; } export interface ClientDecryptLike { decryptArtifact(firstArg: { grantResponseBytes: Uint8Array; encryptedBundleBytes?: Uint8Array; }, privateKey: Uint8Array): Promise; } export declare function unwrapGrantContentKey(wrappedContentKey: WrappedContentKeyLike, recipientPrivateKey: Uint8Array, observer?: ModuleDeliveryObserver): Promise; export declare function decryptEncryptedModuleBundle(encryptedBundleBytes: Uint8Array, contentKey: Uint8Array, aadOrObserver?: Uint8Array | ModuleDeliveryObserver, observer?: ModuleDeliveryObserver): Promise; export declare function decryptGrantProtectedModuleBundle(input: GrantProtectedModuleBundleInput, recipientPrivateKey: Uint8Array, clientDecrypt: ClientDecryptLike, observer?: ModuleDeliveryObserver): Promise; export declare function loadDecryptedModule(wasmBytes: Uint8Array, observerOrOptions?: ModuleDeliveryObserver | LoadDecryptedModuleOptions): Promise; export declare function invokeLoadedModule(harness: LoadedModuleHarnessLike, request: unknown, observer?: ModuleDeliveryObserver): Promise; //# sourceMappingURL=live-delivery.d.ts.map