import { BaseCleaner } from "./BaseCleaner"; import { CacheCategory, CacheInfo, CacheType } from "../types"; /** * Normalized, OS-neutral app identity from a relId. The app segment is the * second path part for per-app layouts (library-caches/, * xdg-config//, containers/, flatpak//cache, ...) and * the whole relId for single-segment roots (e.g. "local-temp"). Slugged so it * is stable and case-insensitive across platforms - the same Spotify cache is * "com.spotify.client" whether discovered under macOS containers or Linux * flatpak, so one exclude pattern works everywhere. */ export declare function appKeyForRelId(relId: string): string; /** * Match an (already-slugged, lowercase) appKey against a user exclude pattern. * Patterns containing * or ? are globbed via minimatch; plain patterns match * exactly OR as a substring, so "spotify" excludes "com.spotify.client" * without the user needing to write a glob. */ export declare function matchesExclude(appKey: string, patterns: string[]): boolean; /** * System-wide application cache discovery. Scans well-known platform cache * roots, classifies every candidate through the safety rule engine * (safe / probably-safe / caution / manual; "never" and "claimed" paths are * excluded entirely), and exposes the survivors as cache categories. * * Inherits clear()/clearByCategory() from BaseCleaner so the manual-tier * consent gate and safety-tier filtering always apply. */ export declare class AppCacheDiscoveryCleaner extends BaseCleaner { name: string; type: CacheType; description: string; private cachedCategories; private discoveredAt; private discoveryInFlight; isAvailable(): Promise; getCacheInfo(): Promise; getCacheCategories(): Promise; /** * Run (or reuse) discovery: collect candidates, classify, size them * concurrently, and build categories. Results are cached on the instance * so getCacheInfo() + getCacheCategories() within one scan only walk the * filesystem once. */ private discover; private runDiscovery; /** Enumerate candidate cache directories for the current platform. */ private collectCandidates; } declare const _default: AppCacheDiscoveryCleaner; export default _default; //# sourceMappingURL=appCacheDiscovery.d.ts.map