///
import { Buffer } from 'buffer';
export interface EncryptionKeys {
keyIndex?: number;
hashedSecretCode?: Uint8Array;
privateKey?: Uint8Array | number[];
publicKey?: Uint8Array | number[];
}
export declare const generateKeyPairV2: () => Promise<{
privateKey: Uint8Array;
publicKey: Uint8Array;
}>;
export declare const cipherV1: (encryptionKey: Uint8Array, data: Iterable) => Promise;
export declare const decipherV1: (encryptionKey: Uint8Array, data: Iterable) => Promise;
export declare const cipherV2: (encryptionKey: Uint8Array, data: Iterable, keys: EncryptionKeys) => Promise<{
encrypted: Buffer;
authTag: Buffer;
}>;
export declare const decipherV2: (encryptionKey: Uint8Array, data: Iterable, keys: EncryptionKeys) => Promise;
export declare const deriveEncryptionKeyV1: (privateKey: Uint8Array | number[], publicKey: Uint8Array | number[]) => Promise;
export declare const deriveEncryptionKeyV2: (commandId: number, keys: EncryptionKeys) => Promise;
export declare const encryptV1: (data: Iterable, privateKey: Uint8Array | number[], publicKey: Uint8Array | number[]) => Promise;
export declare const decryptV1: (encryptedData: Iterable, privateKey: Uint8Array | number[], publicKey: Uint8Array | number[]) => Promise;
export declare const encryptV2: (data: Iterable, commandId: number, keys: EncryptionKeys) => Promise<{
encrypted: Buffer;
authTag: Buffer;
}>;
export declare const decryptV2: (encryptedData: Iterable, commandId: number, keys: EncryptionKeys) => Promise;