/*! Copyright 2025 the gnablib contributors MPL-1.1 */
import { U64MutArray } from '../../primitive/number/U64.js';
import { IBlockCrypt } from '../interfaces/IBlockCrypt.js';
declare class Simon64bit {
    #private;
    readonly blockSize = 16;
    readonly rounds: number;
    constructor(rounds: number, rk: U64MutArray);
    private _encBlock;
    private _decBlock;
    encryptBlock(block: Uint8Array, offset?: number): void;
    decryptBlock(block: Uint8Array, offset?: number): void;
}
export declare class Simon128_128 extends Simon64bit implements IBlockCrypt {
    constructor(key: Uint8Array);
}
export declare class Simon128_192 extends Simon64bit implements IBlockCrypt {
    constructor(key: Uint8Array);
}
export declare class Simon128_256 extends Simon64bit implements IBlockCrypt {
    constructor(key: Uint8Array);
}
export {};
