import { RedisCache } from 'apollo-server-cache-redis';
export declare type Node = {
    type: string;
    id: string;
};
/**
 * Generate cache key of Node and FQC hashes array mapping
 *
 * e.g. ['Article', 18] -> 'node-fqcs:Article:18'
 */
export declare const toNodeFQCKey: (node: Node) => string;
/**
 * Record Node:FQC mapping
 *
 */
export declare const recordNodeFQCMapping: ({ nodeFQCKeys, fqcKey, ttl, redis, }: {
    nodeFQCKeys: string[];
    fqcKey: string;
    ttl: number;
    redis: RedisCache;
}) => void;
/**
 * Invalidate full query caches by the given related node keys
 */
export declare const invalidateFQC: ({ node, redis, }: {
    node: Node;
    redis: RedisCache;
}) => Promise<void>;
