export declare const SOURCE: "lcfcap"; type Source = typeof SOURCE; export declare const DEBUG_PREFIX = "lru-cache-clustered"; type RequestBase = { id: string; namespace: string; source: Source; cacheOptions?: SerializableLruOptions; }; export type Request = RequestBase & ({ op: 'init'; options: SerializableLruOptions; } | { op: 'healthCheck'; } | { op: 'destroy'; } | { op: 'get'; key: unknown; } | { op: 'set'; key: unknown; value: unknown; ttl?: number; size?: number; } | { op: 'setIfAbsent'; key: unknown; value: unknown; ttl?: number; size?: number; } | { op: 'delete'; key: unknown; } | { op: 'has'; key: unknown; } | { op: 'peek'; key: unknown; } | { op: 'getRemainingTTL'; key: unknown; } | { op: 'clear'; } | { op: 'purgeStale'; } | { op: 'mGet'; keys: unknown[]; } | { op: 'mSet'; entries: Array<[unknown, unknown] | [unknown, unknown, { ttl?: number; size?: number; }]>; ttl?: number; size?: number; } | { op: 'mDelete'; keys: unknown[]; } | { op: 'keys'; } | { op: 'values'; } | { op: 'entries'; } | { op: 'dump'; } | { op: 'load'; entries: Array<[unknown, unknown]>; } | { op: 'size'; } | { op: 'stats'; } | { op: 'incr'; key: unknown; amount?: number; ttl?: number; size?: number; } | { op: 'decr'; key: unknown; amount?: number; ttl?: number; size?: number; } | { op: 'fetchClaim'; key: unknown; forceRefresh?: boolean; } | { op: 'fetchStore'; key: unknown; token: string; value: unknown; ttl?: number; size?: number; } | { op: 'fetchAbort'; key: unknown; token: string; } | { op: 'allowStale'; value?: boolean; } | { op: 'max'; value?: number; } | { op: 'ttl'; value?: number; }); type SerializedError = { name: string; message: string; code?: string | number; stack?: string; cause?: SerializedError; }; export type Response = { id: string; source: Source; } & ({ ok: true; value: unknown; version?: number; } | { ok: false; error: SerializedError; }); export type SerializableLruOptions = { max?: number; maxSize?: number; maxEntrySize?: number; ttl?: number; allowStale?: boolean; updateAgeOnGet?: boolean; updateAgeOnHas?: boolean; noDeleteOnStaleGet?: boolean; ttlAutopurge?: boolean; }; export type Stats = { namespace: string; hits: number; misses: number; sets: number; deletes: number; evictions: number; size: number; }; export declare function serializeError(err: unknown): SerializedError; export declare function deserializeError(payload: SerializedError): Error; export type InvalidationPush = { source: Source; push: 'l1:invalidate'; namespace: string; key: unknown; version: number; } | { source: Source; push: 'l1:invalidate-namespace'; namespace: string; version: number; }; export declare function isInvalidationPush(value: unknown): value is InvalidationPush; export {}; //# sourceMappingURL=messages.d.ts.map