import { ICryptoProvider, IEncryptionScheme } from './abstract.js'; /** * Generate AES key and IV from nonces as defined by MTProto. * Used in authorization flow. * * @param crypto Crypto provider * @param serverNonce Server nonce * @param newNonce New nonce * @returns Tuple: `[key, iv]` */ export declare function generateKeyAndIvFromNonce(crypto: ICryptoProvider, serverNonce: Uint8Array, newNonce: Uint8Array): [Uint8Array, Uint8Array]; /** * Create AES IGE instance for message (given auth key and message key) * as defined by MTProto v2. * * @param crypto Crypto provider * @param authKey Authorization key * @param messageKey Message key * @param client Whether this is a client to server message */ export declare function createAesIgeForMessage(crypto: ICryptoProvider, authKey: Uint8Array, messageKey: Uint8Array, client: boolean): IEncryptionScheme; /** * Create AES IGE instance for file (given auth key and message key) * as defined by MTProto v1. * * @param crypto Crypto provider * @param authKey Authorization key * @param messageKey Message key * @param client Whether this is a client to server message */ export declare function createAesIgeForMessageOld(crypto: ICryptoProvider, authKey: Uint8Array, messageKey: Uint8Array, client: boolean): IEncryptionScheme;