import type { ResolvedSyncularClientConfig, SyncularRustRuntimeInfo } from './types';
import { type SyncularRustOwnedSqliteClient } from './wasm-bindings/runtime-contract';
export type { SyncularRustOwnedSqliteClient, SyncularWasmArtifactVariant, } from './wasm-bindings/runtime-contract';
export { getSyncularPackagedRuntimeArtifacts, getSyncularRuntimeArtifact, getSyncularRuntimeArtifactCatalogUrl, getSyncularWasmGlueUrl, getSyncularWasmUrl, resolveSyncularRuntimeArtifactCatalog, selectSyncularRuntimeArtifact, } from './wasm-bindings/runtime-contract';
export interface SyncularWasmGlue {
    default(moduleOrPath?: SyncularWasmInitInput): Promise<unknown>;
    syncularRuntimeInfoJson(): string;
    syncularBuildYjsTextUpdateJson(argsJson: string): string;
    syncularApplyYjsTextUpdatesJson(argsJson: string): string;
    syncularApplyYjsEnvelopeToPayloadJson(argsJson: string): string;
    syncularMaterializeYjsRowJson(argsJson: string): string;
    syncularEncryptionHelperJson(method: string, argsJson: string): string;
    openSyncularRustOwnedSqliteClient(config: ResolvedSyncularClientConfig): Promise<SyncularRustOwnedSqliteClient>;
}
export type SyncularWasmModuleInput = string | URL | Request | Response | BufferSource | WebAssembly.Module;
export type SyncularWasmInitInput = SyncularWasmModuleInput | Promise<SyncularWasmModuleInput> | {
    module_or_path: SyncularWasmModuleInput | Promise<SyncularWasmModuleInput>;
};
export declare function loadSyncularWasmGlue(): Promise<SyncularWasmGlue>;
export declare function getSyncularRustRuntimeInfo(mod?: SyncularWasmGlue | Promise<SyncularWasmGlue>, wasmUrl?: string | URL | Request): Promise<SyncularRustRuntimeInfo>;
export declare function prepareSyncularWasmModuleInput(wasmUrl?: SyncularWasmModuleInput): Promise<SyncularWasmModuleInput>;
export declare function readSyncularRustRuntimeInfo(mod: SyncularWasmGlue): SyncularRustRuntimeInfo;
//# sourceMappingURL=wasm-runtime.d.ts.map