export interface StoredIcon {
    path: string;
    contentType: string;
    size: number;
    writtenAt: number;
}
export interface IconBytesCache {
    storeRoot(): string;
    /** Resolve a stored icon for the given plugin (latest version wins). */
    read(pkgName: string): StoredIcon | undefined;
    /** Download and persist the icon bytes. Returns the stored record or null on failure. */
    download(pkgName: string, version: string, cdnUrl: string): Promise<StoredIcon | null>;
    /** Remove every cached icon byte. Used by /appstore/refresh. */
    invalidate(): void;
}
export declare function createIconBytesCache(cacheDir: string): IconBytesCache;
//# sourceMappingURL=icon-bytes.d.ts.map