import type { RsaBaseWasm } from '../wasm';
import type { Action } from '../enum';
import { Crypto } from '../crypto';
import { KeyPair } from './key-pair';
export declare abstract class RsaBase<T extends RsaBaseWasm> extends Crypto {
    protected _ctx?: T;
    protected _action: Action;
    protected _key: KeyPair;
    constructor(action: Action, key: KeyPair);
    protected abstract ensureContextAsync(): Promise<void>;
    updateAsync(data: Uint8Array | ArrayBuffer | string): Promise<Uint8Array>;
    dispose(): void;
}
