import { Cryptor, CryptoInfo, Logger, LoggerOptions } from '@evan.network/dbcp';
/**
 * aes ecb instance options
 */
export interface AesEcbOptions extends LoggerOptions {
}
export declare class AesEcb extends Logger implements Cryptor {
    static defaultOptions: {
        keyLength: number;
        algorithm: string;
    };
    private readonly encodingUnencrypted;
    private readonly encodingEncrypted;
    options: any;
    constructor(options?: AesEcbOptions);
    /**
     * convert string to array buffer
     *
     * @param      {string}  str     string to convert
     * @return     {Buffer}  converted input
     */
    stringToArrayBuffer(str: any): SharedArrayBuffer | ArrayBuffer;
    getCryptoInfo(originator: string): CryptoInfo;
    /**
     * generate key for cryptor/decryption
     *
     * @return     {any}  The iv from key.
  
     */
    generateKey(): Promise<any>;
    /**
     * encrypt a message
     *
     * @param      {any}     message  The message
     * @param      {any}     options  cryptor options
     * @return     {Buffer}  encrypted message
     */
    encrypt(message: Buffer, options: any): Promise<Buffer>;
    /**
     * decrypt a message
     *
     * @param      {Buffer}  message  The message
     * @param      {any}     options  decryption options
     * @return     {any}  decrypted message
     */
    decrypt(message: Buffer, options: any): Promise<Buffer>;
    /**
     * calculates a secret out of a given ecb passphrase
     * https://gist.github.com/bnoordhuis/2de2766d3d3a47ebe41aaaec7e8b14df
     *
     * @param      {Buffer}  passphrase  given passphrase to createCipher
     * @return     {string}  secret of the passphrase.
     */
    private computeSecret(passphrase);
}
