import type { ScanResult } from './pr-status.js';
export declare const SCAN_CACHE_TTL_MS: number;
export type ScanCachePayload = Omit<ScanResult, 'cached'>;
export interface ReadScanCacheOptions {
    cacheDir?: string;
    nowMs: number;
    staleAfterMs: number;
    scopeHash?: string;
}
export interface ScanCacheKeyInput {
    configPath: string | null;
    monitorScopeHash: string;
    githubLogin: string | null;
    staleAfterMs: number;
    packageVersion: string;
}
interface GenericScanCacheOptions {
    cachePath?: string;
    force?: boolean;
    now?: number;
    partialFailure?: boolean;
}
export declare function getScanCachePath(): string;
export declare function buildMonitorScopeHash(scope: unknown): string;
export declare function buildScanCacheKey(input: ScanCacheKeyInput): string;
export declare function readScanCache(options: ReadScanCacheOptions): ScanCachePayload | null;
export declare function readScanCache<T>(key: string, options?: GenericScanCacheOptions): T | null;
export declare function writeScanCache(payload: ScanCachePayload, cacheDir?: string): void;
export declare function writeScanCache<T>(key: string, data: T, options?: GenericScanCacheOptions): boolean;
export {};
//# sourceMappingURL=scan-cache.d.ts.map