import { KeyState } from './KeyState';
export declare abstract class MuteCrypto {
    static generateKey(): Promise<string>;
    state: KeyState;
    onStateChange: (state: KeyState) => void;
    constructor();
    abstract encrypt(msg: Uint8Array): Promise<Uint8Array>;
    abstract decrypt(ciphermsg: Uint8Array): Promise<Uint8Array>;
    protected setState(state: KeyState): void;
}
