import { IAesCtr, ICryptoProvider, IEncryptionScheme, BaseCryptoProvider } from '@mtcute/core/utils.js'; import { WasmInitInput } from './wasm.js'; export interface WebCryptoProviderOptions { crypto?: Crypto; wasmInput?: WasmInitInput; } export declare class WebCryptoProvider extends BaseCryptoProvider implements ICryptoProvider { readonly crypto: Crypto; private _wasmInput?; sha1(data: Uint8Array): Uint8Array; sha256(data: Uint8Array): Uint8Array; createAesCtr(key: Uint8Array, iv: Uint8Array): IAesCtr; createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme; gzip(data: Uint8Array, maxSize: number): Uint8Array | null; gunzip(data: Uint8Array): Uint8Array; constructor(params?: WebCryptoProviderOptions); initialize(): Promise; pbkdf2(password: Uint8Array, salt: Uint8Array, iterations: number, keylen?: number | undefined, algo?: string | undefined): Promise; hmacSha256(data: Uint8Array, key: Uint8Array): Promise; randomFill(buf: Uint8Array): void; }