declare class KISA_ENC_DEC {
    static _KISA_ENCRYPT: number;
    static _KISA_DECRYPT: number;
    value: number;
    constructor(value: number);
    static KISA_ENCRYPT: KISA_ENC_DEC;
    static KISA_DECRYPT: KISA_ENC_DEC;
}
declare class KISA_SEED_KEY {
    key_data: number[];
    init(): void;
}
declare class KISA_SEED_INFO {
    encrypt: number;
    ivec: number[];
    seed_key: KISA_SEED_KEY;
    cbc_buffer: number[];
    buffer_length: number;
    cbc_last_block: number[];
    last_block_flag: number;
    constructor();
}

declare class KISA_SEED_CBC {
    private static ENDIAN;
    private static readonly BLOCK_SIZE_SEED;
    private static readonly BLOCK_SIZE_SEED_INT;
    private static Subst;
    private static SeedRound;
    private static EndianChange;
    private static RoundKeyUpdate0;
    private static RoundKeyUpdate1;
    private static BLOCK_XOR_CBC;
    private static readonly LR_L0;
    private static readonly LR_L1;
    private static readonly LR_R0;
    private static readonly LR_R1;
    static KISA_SEED_Encrypt_Block_forCBC(inData: number[], in_offset: number, outData: number[], out_offset: number, ks: KISA_SEED_KEY): void;
    static KISA_SEED_Decrypt_Block_forCBC(input: number[], in_offset: number, outData: number[], out_offset: number, ks: KISA_SEED_KEY): void;
    static chartoint32_for_SEED_CBC(input: Uint8Array, inLen: number): number[];
    static int32tochar_for_SEED_CBC(input: number[], inLen: number): Uint8Array;
    static SEED_CBC_init(pInfo: KISA_SEED_INFO, enc: KISA_ENC_DEC, pbszUserKey: Uint8Array, pbszIV: Uint8Array): 0 | 1;
    static SEED_CBC_Process(pInfo: KISA_SEED_INFO, input: number[], inLen: number, output: number[], outLen: number[]): number;
    static SEED_CBC_Close(pInfo: KISA_SEED_INFO, output: number[], out_offset: number, outLen: number[]): number;
    static SEED_CBC_Encrypt(pbszUserKey: Uint8Array, pbszIV: Uint8Array, message: Uint8Array, message_offset: number, message_length: number): Uint8Array;
    static SEED_CBC_Decrypt(pbszUserKey: Uint8Array, pbszIV: Uint8Array, message: Uint8Array, message_offset: number, message_length: number): Uint8Array;
    private static stringToUint8Array;
    private static base64ToUint8Array;
    private static uint8ToBase64;
    static encrypt(pbszUserKey: string, pbszIV: string, message_str: string): string;
    static decrypt(pbszUserKey: string, pbszIV: string, base64_str: string): string;
}

export { KISA_SEED_CBC };
