import { OperationTypeNode } from 'graphql'; import { LinkedType } from './linkTypeMap'; import { TypeMapper } from './applyTypeMapperToResponse'; export interface Args { [arg: string]: any | undefined; } export interface Fields { [field: string]: Request; } export declare type Request = boolean | number | Fields | [Args, Fields?]; export interface Variables { [name: string]: { value: any; typing: [string, LinkedType]; }; } export interface Context { root: LinkedType; varCounter: number; variables: Variables; fragmentCounter: number; fragments: string[]; } export interface Gql { query: string; variables: { [name: string]: any; }; } export declare const requestToGql: (operation: OperationTypeNode, root: LinkedType, fields: Fields, typeMapper?: TypeMapper | undefined) => Gql;