import type { HybridObject } from 'react-native-nitro-modules';
type CipherArgs = {
    isCipher: boolean;
    cipherType: string;
    cipherKey: ArrayBuffer;
    iv: ArrayBuffer;
    authTagLen?: number;
};
interface CipherInfo {
    name: string;
    nid: number;
    mode: string;
    keyLength: number;
    blockSize?: number;
    ivLength?: number;
}
export interface Cipher extends HybridObject<{
    ios: 'c++';
    android: 'c++';
}> {
    update(data: ArrayBuffer): ArrayBuffer;
    final(): ArrayBuffer;
    setArgs(args: CipherArgs): void;
    setAAD(data: ArrayBuffer, plaintextLength?: number): boolean;
    setAutoPadding(autoPad: boolean): boolean;
    setAuthTag(tag: ArrayBuffer): boolean;
    getAuthTag(): ArrayBuffer;
    getSupportedCiphers(): string[];
    getCipherInfo(name: string, keyLength?: number, ivLength?: number): CipherInfo | undefined;
}
export interface CipherFactory extends HybridObject<{
    ios: 'c++';
    android: 'c++';
}> {
    createCipher(args: CipherArgs): Cipher;
}
export {};
//# sourceMappingURL=cipher.nitro.d.ts.map