import { RipemdWasm, Ripemd160Hasher } from '@hazae41/ripemd.wasm';
import { BytesOrCopiable } from '../../libs/copiable/index.js';

declare function fromWasm(wasm: typeof RipemdWasm): {
    Hasher: {
        new (inner: Ripemd160Hasher): {
            readonly inner: Ripemd160Hasher;
            cloneOrThrow(): /*elided*/ any;
            updateOrThrow(bytes: BytesOrCopiable): /*elided*/ any;
            finalizeOrThrow(): RipemdWasm.Memory;
            [Symbol.dispose](): void;
        };
        create(inner: Ripemd160Hasher): {
            readonly inner: Ripemd160Hasher;
            cloneOrThrow(): /*elided*/ any;
            updateOrThrow(bytes: BytesOrCopiable): /*elided*/ any;
            finalizeOrThrow(): RipemdWasm.Memory;
            [Symbol.dispose](): void;
        };
        createOrThrow(): {
            readonly inner: Ripemd160Hasher;
            cloneOrThrow(): /*elided*/ any;
            updateOrThrow(bytes: BytesOrCopiable): /*elided*/ any;
            finalizeOrThrow(): RipemdWasm.Memory;
            [Symbol.dispose](): void;
        };
    };
    hashOrThrow: (bytes: BytesOrCopiable) => RipemdWasm.Memory;
};

export { fromWasm };
