/*! Copyright 2023-2025 the gnablib contributors MPL-1.1 */
import { IBlockCrypt } from '../interfaces/IBlockCrypt.js';
declare class Simon_32bit implements IBlockCrypt {
    readonly blockSize: number;
    private readonly keySize;
    private readonly rounds;
    constructor(blockSize: number, keySize: number, rounds: number, key: Uint8Array);
    keySchedule(key: Uint8Array): void;
    encryptBlock(block: Uint8Array, offset?: number): void;
    decryptBlock(block: Uint8Array, offset?: number): void;
}
export declare class Simon32 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon48_72 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon48_96 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon64_96 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon64_128 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon96_96 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon96_144 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon128_128 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon128_192 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Simon128_256 extends Simon_32bit {
    constructor(key: Uint8Array);
}
export declare class Speck {
}
export {};
