import { FragmentDefinitionNode } from "graphql"; import { ICompileQueriesContext, RemoteTypeName } from "../types"; /** * Compiles all user-defined custom fragments into "node fragments". * * "Node fragment" is a fragment that: * 1. Is defined on gatsby node type * 2. Is "shallow", meaning that all deep selections of other nodes * are replaced with references * * For example: * * fragment Post on Post { * title * author { * firstName * email * } * } * fragment User on User { * lastName * recentPosts { * updatedAt * } * } * * Is compiled into a map: * "Post": ` * fragment Post on Post { * title * author { * __typename * id * } * } * fragment User__recentPosts on Post { * updatedAt * } * `, * "User": ` * fragment User on User { * lastName * recentPosts { * __typename * id * } * } * fragment Post__author on User { * firstName * email * } * ` */ export declare function compileNodeFragments(context: ICompileQueriesContext): Map; export declare function compileNonNodeFragments(context: ICompileQueriesContext): FragmentDefinitionNode[];