import { GeneralJWE, CryptoKey, KeyObject, JWK, DecryptOptions, GeneralDecryptResult, GetKeyFunction, JWEHeaderParameters, FlattenedJWE, ResolvedKey } from '../../types.d.js';

interface GeneralDecryptGetKey extends GetKeyFunction<JWEHeaderParameters, FlattenedJWE> {
}
declare function generalDecrypt(jwe: GeneralJWE, key: CryptoKey | KeyObject | JWK | Uint8Array, options?: DecryptOptions): Promise<GeneralDecryptResult>;
declare function generalDecrypt(jwe: GeneralJWE, getKey: GeneralDecryptGetKey, options?: DecryptOptions): Promise<GeneralDecryptResult & ResolvedKey>;

export { type GeneralDecryptGetKey, generalDecrypt };
