import type { CacheControlMetadata, FilterPredicate } from '@conduit-client/service-cache/v1'; interface LogicalOperators { $and?: T[]; $or?: T[]; $not?: T; } export type CacheKeyQueryOperands = { $regex: RegExp; }; export type CacheMetadataQueryOperands = LogicalOperators | { cacheControlType: { $eq: 'max-age' | 'stale-while-revalidate' | 'no-cache' | 'no-store'; }; } | { maxAge: { $gte?: number; $lte?: number; }; }; export type CacheValueQueryOperands = never; export type CacheQuery = LogicalOperators | { key: CacheKeyQueryOperands; } | { metadata: CacheMetadataQueryOperands; } | { value: CacheValueQueryOperands; }; export declare const isAndQuery: (query: CacheQuery) => query is { $and: CacheQuery[]; }; export declare const isOrQuery: (query: CacheQuery) => query is { $or: CacheQuery[]; }; export declare const isNotQuery: (query: CacheQuery) => query is { $not: CacheQuery; }; export declare const matchesMetadata: (metadataQuery: CacheMetadataQueryOperands, cacheControl: CacheControlMetadata) => boolean; export declare function queryToPredicate(query: CacheQuery): FilterPredicate; export {};