import { SelectionSet } from "apollo-codegen-core/lib/compiler"; import { Set } from "immutable"; import { GraphQLInputType } from "graphql"; export declare type List = { kind: "List"; ofType: T; }; export declare type Maybe = { kind: "Maybe"; ofType: T; }; export declare type Typename = { kind: "Typename"; possibleTypes: Set; }; export declare const Typename: (possibleTypes: Set) => Typename; export declare type Field = { name: string; type: OutputType | Typename; }; export declare type FragmentReference = { kind: "FragmentReference"; name: string; possibleTypes: Set; }; export declare type InlineSelection = { kind: "InlineSelection"; possibleTypes: Set; intersections: FragmentReference[]; fields: Field[]; booleanConditions: FragmentOrSelection[]; typeConditions: FragmentOrSelection[]; }; export declare type FragmentOrSelection = FragmentReference | InlineSelection; export declare type InputObject = { kind: "InputObject"; name: string; }; export declare type Enum = { kind: "Enum"; name: string; values: string[]; }; export declare type Scalar = { kind: "Scalar"; name: string; isTypename: boolean; }; export declare type Leaf = Enum | Scalar; export interface MaybeType extends Maybe> { } export interface ListType extends List> { } export declare type Type = T | MaybeType | ListType; export declare type OutputType = Type; export declare type InputType = Type; export declare const List: (ofType: T) => List; export declare const Maybe: (ofType: T) => Maybe; export declare const InputType: (type: GraphQLInputType) => Type; export declare const FragmentReference: (name: string, possibleTypes: Set) => FragmentReference; export declare const InlineSelection: (selectionSet: SelectionSet) => InlineSelection; export declare const AnyObject: (selectionSet: SelectionSet) => FragmentOrSelection;