import { tl } from '../../tl/index.js';
import { ICryptoProvider } from './abstract.js';
/**
 * Compute password hash as defined by MTProto.
 *
 * See https://core.telegram.org/api/srp#checking-the-password-with-srp
 *
 * @param crypto  Crypto provider
 * @param password  Password
 * @param salt1  Salt 1
 * @param salt2  Salt 2
 */
export declare function computePasswordHash(crypto: ICryptoProvider, password: Uint8Array, salt1: Uint8Array, salt2: Uint8Array): Promise<Uint8Array>;
/**
 * Compute new password SRP hash as defined by MTProto.
 *
 * @param crypto  Crypto provider
 * @param algo  KDF algorithm
 * @param password  Password
 */
export declare function computeNewPasswordHash(crypto: ICryptoProvider, algo: tl.TypePasswordKdfAlgo, password: string): Promise<Uint8Array>;
/**
 * Compute SRP check parameters for 2fa password as defined by MTProto.
 *
 * @param crypto  Crypto provider
 * @param request  SRP request
 * @param password  2fa password
 */
export declare function computeSrpParams(crypto: ICryptoProvider, request: tl.account.RawPassword, password: string): Promise<tl.RawInputCheckPasswordSRP>;
