import { type TypedArray, abytes, concatBytes, randomBytes as randb, utf8ToBytes } from '@noble/hashes/utils'; export declare const ensureBytes: typeof abytes; export declare const randomBytes: typeof randb; export { concatBytes, utf8ToBytes }; export declare function equalBytes(a: Uint8Array, b: Uint8Array): boolean; /** Generic interface for signatures. Has keygen, sign and verify. */ export type Signer = { signRandBytes: number; keygen: (seed: Uint8Array) => { secretKey: Uint8Array; publicKey: Uint8Array; }; sign: (secretKey: Uint8Array, msg: Uint8Array, random?: Uint8Array) => Uint8Array; verify: (publicKey: Uint8Array, msg: Uint8Array, sig: Uint8Array) => boolean; }; export interface Coder { encode(from: F): T; decode(to: T): F; } export interface BytesCoder extends Coder { encode: (data: T) => Uint8Array; decode: (bytes: Uint8Array) => T; } export type BytesCoderLen = BytesCoder & { bytesLen: number; }; type UnCoder = T extends BytesCoder ? U : never; type SplitOut)[]> = { [K in keyof T]: T[K] extends number ? Uint8Array : UnCoder; }; export declare function splitCoder)[]>(...lengths: T): BytesCoder> & { bytesLen: number; }; export declare function vecCoder(c: BytesCoderLen, vecLen: number): BytesCoderLen; export declare function cleanBytes(...list: (TypedArray | TypedArray[])[]): void; export declare function getMask(bits: number): number; export declare const EMPTY: Uint8Array; export declare function getMessage(msg: Uint8Array, ctx?: Uint8Array): Uint8Array; export declare function getMessagePrehash(hashName: string, msg: Uint8Array, ctx?: Uint8Array): Uint8Array; //# sourceMappingURL=utils.d.ts.map