type CacheKey = string | number | symbol; type Props = { limit?: number; ttl?: number; }; type CacheIndex = { [key: string]: V; [key: number]: V; [key: symbol]: V; }; type CacheValue = { value: V; expiresAt?: number; }; declare class AlliorCacheCore { private readonly _map; private readonly _limit?; private readonly _ttl?; constructor(props?: Props); keys(): MapIterator; values(): IterableIterator; valuesWithMeta(): MapIterator>; entries(): MapIterator<[K, CacheValue]>; clear(): void; has(key: K): boolean; set(key: K, value: V, ttl?: number): true; get(key: K): V | undefined; delete(key: K): boolean; private _handleLimit; json(): Record; } export type AlliorCache = AlliorCacheCore & CacheIndex & Record; export declare const AlliorCache: { new (props?: Props): AlliorCache; readonly prototype: AlliorCacheCore; }; export {}; //# sourceMappingURL=index.d.ts.map