import * as Ripemd160Noble from '@noble/hashes/ripemd160';
import { BytesOrCopiable, Copied } from '../../libs/copiable/index.js';

declare function fromNoble(noble: typeof Ripemd160Noble): {
    Hasher: {
        new (inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>): {
            readonly inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>;
            cloneOrThrow(): /*elided*/ any;
            updateOrThrow(bytes: BytesOrCopiable): /*elided*/ any;
            finalizeOrThrow(): Copied;
            [Symbol.dispose](): void;
        };
        create(inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>): {
            readonly inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>;
            cloneOrThrow(): /*elided*/ any;
            updateOrThrow(bytes: BytesOrCopiable): /*elided*/ any;
            finalizeOrThrow(): Copied;
            [Symbol.dispose](): void;
        };
        createOrThrow(): {
            readonly inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>;
            cloneOrThrow(): /*elided*/ any;
            updateOrThrow(bytes: BytesOrCopiable): /*elided*/ any;
            finalizeOrThrow(): Copied;
            [Symbol.dispose](): void;
        };
    };
    hashOrThrow: (bytes: BytesOrCopiable) => Copied;
};

export { fromNoble };
