/** Kalyna abstract class */
export declare abstract class KalynaBase {
    readonly N: number;
    /** Round keys for encryption */
    erk: BigUint64Array;
    /** Rounds keys for decryption */
    drk: BigUint64Array;
    /** Block size */
    readonly blockSize: number;
    /** Key size */
    readonly keySize: number;
    private readonly numRounds;
    private readonly glOffset;
    private wordOffsets;
    /** Kalyna abstract class */
    constructor(key: Uint8Array, N: number, isDouble?: boolean);
    private expandKey;
    private makeOddKey;
    private addkey;
    private subkey;
    private add_constant;
    private byte;
    private G0;
    private G;
    private GL;
    private IMC;
    private IG;
    private IGL;
    /**
     * Encrypt data
     * @param in_ Data to be encrypted
     */
    encrypt(in_: Uint8Array): Uint8Array;
    /**
     * Decrypt data
     * @param in_ Data to be decrypted
     */
    decrypt(in_: Uint8Array): Uint8Array;
}
