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<KeyObject>;
}
export default class KeyProvider implements KeyProviderInterface {
    private cache;
    private fetcher;
    constructor(options?: KeyProviderOptions);
    get(keyId: number): Promise<KeyObject>;
}
