export interface PluginFreshness { /** False when something could not be located; the rest is then advisory. */ checked: boolean; stale: boolean; binaryPath?: string; binaryModified?: string; newestSourcePath?: string; newestSourceModified?: string; /** Whole days the source is ahead of the binary; 0 when fresh. */ daysBehind?: number; reason?: string; message?: string; } /** * Drop a cached verdict. Called after a build, which is the only thing that * can flip a stale verdict to fresh sooner than the TTL. * * Per project (#817): a build targets one project, and clearing every entry * made the other editors re-walk their plugin binaries for no reason and, on * a slow disk, report a verdict they had already answered. Omitting the path * still clears everything, which is what a caller with no project in hand * wants. */ export declare function invalidatePluginFreshness(uprojectPath?: string | null): void; export declare function checkPluginFreshness(uprojectPath: string | null): PluginFreshness;