import { RustCrypto } from "./rust-crypto";
import { IHttpOpts, MatrixHttpApi } from "../http-api";
import { ServerSideSecretStorage } from "../secret-storage";
import { ICryptoCallbacks } from "../crypto";
/**
 * Create a new `RustCrypto` implementation
 *
 * @param http - Low-level HTTP interface: used to make outgoing requests required by the rust SDK.
 *     We expect it to set the access token, etc.
 * @param userId - The local user's User ID.
 * @param deviceId - The local user's Device ID.
 * @param secretStorage - Interface to server-side secret storage.
 * @param cryptoCallbacks - Crypto callbacks provided by the application
 * @param storePrefix - the prefix to use on the indexeddbs created by rust-crypto.
 *     If unset, a memory store will be used.
 */
export declare function initRustCrypto(http: MatrixHttpApi<IHttpOpts & {
    onlyData: true;
}>, userId: string, deviceId: string, secretStorage: ServerSideSecretStorage, cryptoCallbacks: ICryptoCallbacks, storePrefix: string | null): Promise<RustCrypto>;
//# sourceMappingURL=index.d.ts.map