import * as GraphQL from "graphql";
import { DocumentDefinitionTuple, FragmentMap, GetObjectId, Variables, ResponseObject, ResolveType } from "./types";
export declare function getDocumentDefinitions(definitions: ReadonlyArray<GraphQL.DefinitionNode>): DocumentDefinitionTuple;
export declare function expandFragments(resolveType: ResolveType, obj: ResponseObject, selectionNodes: ReadonlyArray<GraphQL.SelectionNode>, fragmentMap: FragmentMap): ReadonlyArray<GraphQL.FieldNode>;
export declare function fieldNameWithArguments(fieldNode: GraphQL.FieldNode, variables: Variables | undefined): string;
export declare const defaultGetObjectId: GetObjectId;
export declare const defaultResolveType: ResolveType;
/**
 * Evaluates  @skip and @include directives on field
 * and returns true if the node should be included.
 */
export declare function shouldIncludeField(directives: ReadonlyArray<GraphQL.DirectiveNode>, variables?: Variables): boolean;
