/** * (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary. */ type CacheSnippets = { [repoName: string]: { [filepath: string]: { slices: Array<{ content: string; } & ({ end: null; start: null; } | { end: string; start: string; })>; }; }; }; export type CacheFileType = { snippets: CacheSnippets; description: string; }; export type SnippetRequest = { repo: string; } & ({ kind: 'file'; file: string; start?: string; end?: string; } | { kind: 'symbol'; classname: string; symbol: string; }); export type UsedSnippet = SnippetRequest & { content: string; }; declare class CacheFile { #private; constructor(); getSnippet(args: SnippetRequest): string | null; syncCacheFile({ usedSnippets }: { usedSnippets: UsedSnippet[]; }): void; } export declare const cacheFile: CacheFile; export {};