/*! Copyright 2025 the gnablib contributors MPL-1.1 */ import { IBlockCrypt } from '../interfaces/IBlockCrypt.js'; import type { IHash } from '../interfaces/IHash.js'; import { Key, Tweak } from '../sym/Threefish.js'; interface threefishConstructor { new (key: Key, tweak: Tweak): IBlockCrypt; } declare class SkeinCore { readonly blockSize: number; readonly size: number; private _hasData; private readonly _block; private readonly _b64; private _bPos; private readonly _cfgBackup; private readonly _hVal; private readonly _tweak; private readonly _tfConstructor; private readonly _c; constructor(blockSize: number, digestSize: number, ctor: threefishConstructor, key: Uint8Array, kdf: Uint8Array); private ubi; private hash; private finalize; write(data: Uint8Array): void; clone(): SkeinCore; sum(): Uint8Array; sumIn(): Uint8Array; reset(): void; newEmpty(): IHash; } declare class Skein256Core extends SkeinCore implements IHash { constructor(digestSize: number, key: Uint8Array); } declare class Skein512Core extends SkeinCore implements IHash { constructor(digestSize: number, key: Uint8Array); } declare class Skein1024Core extends SkeinCore implements IHash { constructor(digestSize: number, key: Uint8Array); } export declare class Skein256 extends Skein256Core { constructor(sizeBytes?: number); static New128(): Skein256; static New160(): Skein256; static New224(): Skein256; static New256(): Skein256; } export declare class Skein512 extends Skein512Core { constructor(sizeBytes?: number); static New128(): Skein512; static New160(): Skein512; static New224(): Skein512; static New256(): Skein512; static New384(): Skein512; static New512(): Skein512; } export declare class Skein1024 extends Skein1024Core { constructor(sizeBytes?: number); static New384(): Skein1024; static New512(): Skein1024; static New1024(): Skein1024; } export declare class SkeinMac256 extends Skein256Core { constructor(key: Uint8Array); } export declare class SkeinMac512 extends Skein512Core { constructor(key: Uint8Array); } export declare class SkeinMac1024 extends Skein1024Core { constructor(key: Uint8Array); } export declare class SkeinXof256 extends Skein256Core { constructor(outputSize: number); } export declare class SkeinXof512 extends Skein512Core { constructor(outputSize: number); } export declare class SkeinXof1024 extends Skein1024Core { constructor(outputSize: number); } export declare class SkeinKdf256 extends SkeinCore implements IHash { constructor(len: number, ikm: Uint8Array, salt: Uint8Array); } export declare class SkeinKdf512 extends SkeinCore implements IHash { constructor(len: number, ikm: Uint8Array, salt: Uint8Array); } export declare class SkeinKdf1024 extends SkeinCore implements IHash { constructor(len: number, ikm: Uint8Array, salt: Uint8Array); } export {};