import { PluginDetailPayload } from './types';
interface CachedList<T> {
    writtenAt: number;
    payload: T;
}
interface CachedDetail {
    writtenAt: number;
    installed: boolean;
    payload: PluginDetailPayload;
}
export interface AppStoreCache {
    readList<T>(): CachedList<T> | undefined;
    readListIgnoringTtl<T>(): CachedList<T> | undefined;
    writeList<T>(payload: T): void;
    readPluginDetail(name: string): CachedDetail | undefined;
    writePluginDetail(detail: PluginDetailPayload, installed: boolean): void;
    invalidateList(): void;
    invalidatePluginDetail(name: string): void;
    invalidateAllPluginDetail(): void;
    cacheRoot(): string;
}
export declare function createCache(configPath: string): AppStoreCache;
export declare const LIST_TTL: number;
export declare const DETAIL_TTL: number;
export {};
//# sourceMappingURL=cache.d.ts.map