export default TinyOlm;
/**
 * TinyOlm is a lightweight wrapper for handling encryption sessions using the Olm cryptographic library.
 *
 * To create a working instance, use {@link TinyOlm.Instance}, and {@link TinyOlm.Events} to access the event names.
 *
 * This class is in beta version!
 *
 * @beta
 * @class
 */
declare class TinyOlm {
    /** @typedef {import('@matrix-org/olm')} Olm */
    static Instance: typeof TinyOlmInstance;
    static Events: typeof TinyOlmEvents;
    /**
     * Returns the previously loaded `@matrix-org/olm` instance.
     * Assumes the module has already been loaded.
     *
     * @returns {Olm} The `@matrix-org/olm` module.
     */
    static getOlm(): typeof import("@matrix-org/olm");
    /**
     * Dynamically imports the `@matrix-org/olm` module and stores it in the instance.
     * Ensures the module is loaded only once (lazy singleton).
     *
     * @returns {Promise<Olm>} The loaded `@matrix-org/olm` module.
     */
    static fetchOlm(): Promise<typeof import("@matrix-org/olm")>;
}
import TinyOlmInstance from './TinyOlmInstance.mjs';
import TinyOlmEvents from './TinyOlmEvents.mjs';
//# sourceMappingURL=index.d.mts.map