export declare class LoadingCache<K, V> {
    constructor(options: {
        maxWeight?: number,
        keyWeigher?: (key: K) => number,
        valueWeigher?: (value: V) => number,
        keyHashFunction?: (key: K) => number,
        keyEqualityFunction?: (a: K, b: K) => boolean,
        capacity?: number,
        timeToLive?: number,
        load: (key: K) => Promise<V>,
        retryFailed?: boolean
    })

    refresh(key: K): Promise<V>

    invalidate(key: K): void

    clear(): void

    get(key: K): Promise<V>

    put(key: K, value: V): void
}
