declare class CacheNode { key: string; value: any; next: any; prev: any; constructor(key: string, value: any); } declare class LruCache { map: { [key: string]: any; }; head: any; tail: any; limit: number; size: number; constructor(limit?: number); get(key: string): any; set(key: string, value: any): void; setHead(node: CacheNode): void; remove(key: string): void; } export declare class CachedFetch { cache: LruCache; cacheDir: string; fileCache?: string[]; constructor(alias: string, projectId: string); hasFile: (key: string) => string | undefined; getFile: (key: string) => any; writeFile: (key: string, value: any) => void; request(key: string, execute: () => Promise, noCache: boolean): Promise; } export {};