import { InlineSelection, FragmentOrSelection, Typename, Type, Leaf } from "./intermediates"; import { Map } from "immutable"; export declare type Fragments = { [fragment: string]: InlineSelection; }; declare type Curry = (t: T) => (u: U) => V; export declare type ExtendedFieldType = Type; export declare type ExtendedField = { type: ExtendedFieldType; optional: boolean; }; export declare type __typename = string; export declare type fieldName = string; export declare type ByTypename = Map<__typename, T>; export declare type ExtendedFields = Map; export declare type ExtendedSelection = { kind: "InlineSelection"; fields: ByTypename; }; export declare const ExtendedSelection: (inlineSelection: InlineSelection, fragments: Fragments) => ExtendedSelection; export declare const ExtendedFragmentOrSelection: Curry; export declare const extendedSelectionsAreEqual: (lhs: ExtendedSelection, rhs: ExtendedSelection) => boolean; export {};