import type { KeyObject } from 'node:crypto'; import type KeyDictCache from './cache/cache'; import type KeyFetcher from './fetcher/fetcher'; export interface KeyProviderOptions { cache?: KeyDictCache; fetcher?: KeyFetcher; } export interface KeyProviderInterface { get(keyId: number): Promise; } export default class KeyProvider implements KeyProviderInterface { private cache; private fetcher; constructor(options?: KeyProviderOptions); get(keyId: number): Promise; }