import { FlattenedJWE, CryptoKey, KeyObject, JWK, DecryptOptions, FlattenedDecryptResult, GetKeyFunction, JWEHeaderParameters, ResolvedKey } from '../../types.d.cjs';

interface FlattenedDecryptGetKey extends GetKeyFunction<JWEHeaderParameters | undefined, FlattenedJWE> {
}
declare function flattenedDecrypt(jwe: FlattenedJWE, key: CryptoKey | KeyObject | JWK | Uint8Array, options?: DecryptOptions): Promise<FlattenedDecryptResult>;
declare function flattenedDecrypt(jwe: FlattenedJWE, getKey: FlattenedDecryptGetKey, options?: DecryptOptions): Promise<FlattenedDecryptResult & ResolvedKey>;

export { type FlattenedDecryptGetKey, flattenedDecrypt };
