import type { Cache as _Cache } from '../cache/cache'; import { type QueryArtifact } from '../lib'; import { ListCollection } from './list'; import { Record } from './record'; import type { ArgType, CacheTypeDef, IDFields, QueryInput, QueryList, QueryValue, TypeFieldNames, TypeNames, ValidLists } from './types'; export declare class Cache { _internal_unstable: _Cache; constructor(cache: _Cache); validateInstabilityWarning(): void; get>(type: T, data: IDFields): Record; get config(): import("../lib").ConfigFile; list>(name: Name, { parentID, allLists }?: { parentID?: string; allLists?: boolean; }): ListCollection; read<_Query extends { artifact: QueryArtifact; }>({ query, variables, }: { query: _Query; variables?: QueryInput, _Query>; }): { data: QueryValue, _Query> | null; partial: boolean; }; write<_Query extends { artifact: QueryArtifact; }>({ query, variables, data, }: { query: _Query; data: QueryValue, _Query>; variables?: QueryInput, _Query>; }): void; /** * Mark some elements of the cache stale. */ markStale<_Type extends TypeNames, _Field extends TypeFieldNames>(type?: _Type, options?: { field?: _Field; when?: ArgType; }): void; /** * Reset the entire cache by clearing all records and lists */ reset(): void; }