import { NativeModule } from 'expo'; import type { AESDecryptOptions, AESEncryptOptions, AESSealedDataConfig, BinaryInput, GCMTagByteLength } from './aes.types'; import { AESKeySize } from './aes.types'; declare class EncryptionKey { key: CryptoKey; keySize: AESKeySize; private constructor(); static generate(size?: AESKeySize): Promise; static import(input: Uint8Array | string, encoding?: 'hex' | 'base64'): Promise; bytes(): Promise; encoded(encoding: 'hex' | 'base64'): Promise; get size(): AESKeySize; } declare class SealedData { private buffer; private config; private constructor(); static fromCombined(combined: BinaryInput, config?: AESSealedDataConfig): SealedData; static fromParts(iv: BinaryInput, ciphertext: BinaryInput, tag?: BinaryInput | GCMTagByteLength): SealedData; get ivSize(): number; get tagSize(): GCMTagByteLength; get combinedSize(): number; iv(encoding?: 'bytes' | 'base64'): Promise; tag(encoding?: 'bytes' | 'base64'): Promise; combined(encoding?: 'bytes' | 'base64'): Promise; ciphertext(options?: { includeTag?: boolean; encoding?: 'bytes' | 'base64'; }): Promise; } type NativeEncryptOptions = Omit & { nonce?: number | Uint8Array | undefined; }; declare class AesCryptoModule extends NativeModule { EncryptionKey: typeof EncryptionKey; SealedData: typeof SealedData; encryptAsync(plaintext: BinaryInput, key: EncryptionKey, options?: NativeEncryptOptions): Promise; decryptAsync(sealedData: SealedData, key: EncryptionKey, options?: AESDecryptOptions): Promise; } declare const _default: typeof AesCryptoModule; export default _default; //# sourceMappingURL=ExpoCryptoAES.web.d.ts.map