/* tslint:disable */
/* eslint-disable */

export class SyncularRustOwnedSqliteClient {
    private constructor();
    free(): void;
    [Symbol.dispose](): void;
    activeAuthLeasesJson(actor_id: string | null | undefined, now_ms: bigint): string;
    applyCrdtFieldTextJson(request_json: string): string;
    applyCrdtFieldYjsUpdateJson(request_json: string): string;
    applyLeasedMutationJson(operation_json: string, local_row_json?: string | null): Promise<string>;
    applyLeasedMutationsCommitJson(operations_json: string): string;
    applyMutationJson(operation_json: string, local_row_json?: string | null): Promise<string>;
    applyMutationsBatchJson(operations_json: string): string;
    applyMutationsCommitJson(operations_json: string): string;
    applyRealtimeSyncPackBytes(bytes: Uint8Array): Promise<string>;
    applyYjsEnvelopeToPayloadJson(args_json: string): string;
    applyYjsTextUpdatesJson(args_json: string): string;
    authLeaseJson(lease_id: string): string;
    blobCacheStatsJson(): string;
    blobUploadQueueStatsJson(): string;
    buildYjsTextUpdateJson(args_json: string): string;
    clearBlobCache(): void;
    close(): void;
    compactCrdtFieldJson(request_json: string): string;
    compactStorageJson(options_json: string): string;
    conflictSummariesJson(): Promise<string>;
    crdtDocumentSnapshotJson(request_json: string): string;
    crdtUpdateLogJson(request_json: string): string;
    drainLiveQueryEventsJson(): string;
    drainRowsChangedEventsJson(): string;
    encryptionHelperJson(method: string, args_json: string): string;
    executeSqlValue(sql: string, params: any): any;
    executeUnsafeSqlValue(sql: string, params: any): any;
    exportLocalSupportBundleJson(): Promise<string>;
    forceSubscriptionsBootstrapJson(subscription_ids_json: string): Promise<string>;
    generatedSchemaStateJson(): string;
    importLocalSupportBundleJson(bundle_json: string): Promise<string>;
    isBlobLocal(hash: string): boolean;
    listTableJson(table: string): Promise<string>;
    liveQueryDiagnosticsJson(): string;
    localHealthCheckJson(): Promise<string>;
    materializeCrdtFieldJson(request_json: string): string;
    openCrdtFieldJson(request_json: string): string;
    processBlobUploadQueueJson(retry_now?: boolean | null): Promise<string>;
    pruneBlobCache(max_bytes: bigint): bigint;
    recoverSyncPushErrorJson(error_message: string): void;
    repairLocalHealthJson(request_json: string): Promise<string>;
    resetLocalSyncStateJson(request_json: string): Promise<string>;
    resetTransportStats(): void;
    resolveConflict(id: string, resolution: string): Promise<void>;
    retrieveBlob(ref_json: string): Promise<Uint8Array>;
    retryConflictKeepLocal(id: string): Promise<string>;
    setAbortSignal(signal: any): void;
    setAuthHeadersJson(headers_json: string): void;
    setBlobEncryptionJson(config_json: string): void;
    setEncryptedCrdtJson(config_json: string): void;
    setFieldEncryptionJson(config_json: string): void;
    setSubscriptionsJson(subscriptions_json: string): void;
    snapshotCrdtFieldStateVectorJson(request_json: string): string;
    storeBlobJson(data: Uint8Array, options_json: string): Promise<string>;
    subscribeQueryJson(sql: string, params_json: string, tables_json: string, hints_json: string): string;
    syncOnceJson(): Promise<string>;
    syncPullJson(): Promise<string>;
    syncPushJson(): Promise<string>;
    transportStatsJson(): string;
    unsubscribeQuery(id: string): void;
    upsertAuthLeaseJson(lease_json: string): void;
}

export function openSyncularRustOwnedSqliteClient(config: any): Promise<SyncularRustOwnedSqliteClient>;

export function syncularApplyYjsEnvelopeToPayloadJson(args_json: string): string;

export function syncularApplyYjsTextUpdatesJson(args_json: string): string;

export function syncularBuildYjsTextUpdateJson(args_json: string): string;

export function syncularEncryptionHelperJson(method: string, args_json: string): string;

export function syncularMaterializeYjsRowJson(args_json: string): string;

export function syncularRuntimeInfoJson(): string;

export function syncular_wasm_start(): void;

export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;

export interface InitOutput {
    readonly memory: WebAssembly.Memory;
    readonly __wbg_syncularrustownedsqliteclient_free: (a: number, b: number) => void;
    readonly openSyncularRustOwnedSqliteClient: (a: any) => any;
    readonly syncularApplyYjsEnvelopeToPayloadJson: (a: number, b: number) => [number, number, number, number];
    readonly syncularApplyYjsTextUpdatesJson: (a: number, b: number) => [number, number, number, number];
    readonly syncularBuildYjsTextUpdateJson: (a: number, b: number) => [number, number, number, number];
    readonly syncularEncryptionHelperJson: (a: number, b: number, c: number, d: number) => [number, number, number, number];
    readonly syncularMaterializeYjsRowJson: (a: number, b: number) => [number, number, number, number];
    readonly syncularRuntimeInfoJson: () => [number, number];
    readonly syncularrustownedsqliteclient_activeAuthLeasesJson: (a: number, b: number, c: number, d: bigint) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyCrdtFieldTextJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyCrdtFieldYjsUpdateJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyLeasedMutationJson: (a: number, b: number, c: number, d: number, e: number) => any;
    readonly syncularrustownedsqliteclient_applyLeasedMutationsCommitJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyMutationJson: (a: number, b: number, c: number, d: number, e: number) => any;
    readonly syncularrustownedsqliteclient_applyMutationsBatchJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyMutationsCommitJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyRealtimeSyncPackBytes: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_applyYjsEnvelopeToPayloadJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_applyYjsTextUpdatesJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_authLeaseJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_blobCacheStatsJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_blobUploadQueueStatsJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_buildYjsTextUpdateJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_clearBlobCache: (a: number) => [number, number];
    readonly syncularrustownedsqliteclient_close: (a: number) => void;
    readonly syncularrustownedsqliteclient_compactCrdtFieldJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_compactStorageJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_conflictSummariesJson: (a: number) => any;
    readonly syncularrustownedsqliteclient_crdtDocumentSnapshotJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_crdtUpdateLogJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_drainLiveQueryEventsJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_drainRowsChangedEventsJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_encryptionHelperJson: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_executeSqlValue: (a: number, b: number, c: number, d: any) => [number, number, number];
    readonly syncularrustownedsqliteclient_executeUnsafeSqlValue: (a: number, b: number, c: number, d: any) => [number, number, number];
    readonly syncularrustownedsqliteclient_exportLocalSupportBundleJson: (a: number) => any;
    readonly syncularrustownedsqliteclient_forceSubscriptionsBootstrapJson: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_generatedSchemaStateJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_importLocalSupportBundleJson: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_isBlobLocal: (a: number, b: number, c: number) => [number, number, number];
    readonly syncularrustownedsqliteclient_listTableJson: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_liveQueryDiagnosticsJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_localHealthCheckJson: (a: number) => any;
    readonly syncularrustownedsqliteclient_materializeCrdtFieldJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_openCrdtFieldJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_processBlobUploadQueueJson: (a: number, b: number) => any;
    readonly syncularrustownedsqliteclient_pruneBlobCache: (a: number, b: bigint) => [bigint, number, number];
    readonly syncularrustownedsqliteclient_recoverSyncPushErrorJson: (a: number, b: number, c: number) => [number, number];
    readonly syncularrustownedsqliteclient_repairLocalHealthJson: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_resetLocalSyncStateJson: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_resetTransportStats: (a: number) => void;
    readonly syncularrustownedsqliteclient_resolveConflict: (a: number, b: number, c: number, d: number, e: number) => any;
    readonly syncularrustownedsqliteclient_retrieveBlob: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_retryConflictKeepLocal: (a: number, b: number, c: number) => any;
    readonly syncularrustownedsqliteclient_setAbortSignal: (a: number, b: any) => void;
    readonly syncularrustownedsqliteclient_setAuthHeadersJson: (a: number, b: number, c: number) => [number, number];
    readonly syncularrustownedsqliteclient_setBlobEncryptionJson: (a: number, b: number, c: number) => [number, number];
    readonly syncularrustownedsqliteclient_setEncryptedCrdtJson: (a: number, b: number, c: number) => [number, number];
    readonly syncularrustownedsqliteclient_setFieldEncryptionJson: (a: number, b: number, c: number) => [number, number];
    readonly syncularrustownedsqliteclient_setSubscriptionsJson: (a: number, b: number, c: number) => [number, number];
    readonly syncularrustownedsqliteclient_snapshotCrdtFieldStateVectorJson: (a: number, b: number, c: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_storeBlobJson: (a: number, b: number, c: number, d: number, e: number) => any;
    readonly syncularrustownedsqliteclient_subscribeQueryJson: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_syncOnceJson: (a: number) => any;
    readonly syncularrustownedsqliteclient_syncPullJson: (a: number) => any;
    readonly syncularrustownedsqliteclient_syncPushJson: (a: number) => any;
    readonly syncularrustownedsqliteclient_transportStatsJson: (a: number) => [number, number, number, number];
    readonly syncularrustownedsqliteclient_unsubscribeQuery: (a: number, b: number, c: number) => void;
    readonly syncularrustownedsqliteclient_upsertAuthLeaseJson: (a: number, b: number, c: number) => [number, number];
    readonly syncular_wasm_start: () => void;
    readonly rust_sqlite_wasm_abort: () => void;
    readonly rust_sqlite_wasm_assert_fail: (a: number, b: number, c: number, d: number) => void;
    readonly rust_sqlite_wasm_calloc: (a: number, b: number) => number;
    readonly rust_sqlite_wasm_free: (a: number) => void;
    readonly rust_sqlite_wasm_getentropy: (a: number, b: number) => number;
    readonly rust_sqlite_wasm_localtime: (a: number) => number;
    readonly rust_sqlite_wasm_malloc: (a: number) => number;
    readonly rust_sqlite_wasm_realloc: (a: number, b: number) => number;
    readonly sqlite3_os_end: () => number;
    readonly sqlite3_os_init: () => number;
    readonly wasm_bindgen__convert__closures_____invoke__hb9ab203ee64a0d25: (a: number, b: number, c: any) => [number, number];
    readonly wasm_bindgen__convert__closures_____invoke__h3a988824a0dd5918: (a: number, b: number, c: any) => [number, number];
    readonly wasm_bindgen__convert__closures_____invoke__h0d2854822bce97d6: (a: number, b: number, c: any, d: any) => void;
    readonly wasm_bindgen__convert__closures_____invoke__h251ef08aaf65b4af: (a: number, b: number, c: any) => void;
    readonly wasm_bindgen__convert__closures_____invoke__hddc1f910e97f2e06: (a: number, b: number) => void;
    readonly __wbindgen_malloc: (a: number, b: number) => number;
    readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
    readonly __wbindgen_exn_store: (a: number) => void;
    readonly __externref_table_alloc: () => number;
    readonly __wbindgen_externrefs: WebAssembly.Table;
    readonly __wbindgen_destroy_closure: (a: number, b: number) => void;
    readonly __wbindgen_free: (a: number, b: number, c: number) => void;
    readonly __externref_table_dealloc: (a: number) => void;
    readonly __wbindgen_start: () => void;
}

export type SyncInitInput = BufferSource | WebAssembly.Module;

/**
 * Instantiates the given `module`, which can either be bytes or
 * a precompiled `WebAssembly.Module`.
 *
 * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
 *
 * @returns {InitOutput}
 */
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;

/**
 * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
 * for everything else, calls `WebAssembly.instantiate` directly.
 *
 * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
 *
 * @returns {Promise<InitOutput>}
 */
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
