import { FieldNode, GraphQLCompositeType, GraphQLField, SelectionSetNode } from 'graphql';
import { Scope } from './Scope';
export interface Field {
    scope: Scope;
    fieldNode: FieldNode;
    fieldDef: GraphQLField<any, any>;
}
export declare function debugPrintField(field: Field): string;
export declare type FieldSet = Field[];
export declare function printFields(fields?: FieldSet): string;
export declare function debugPrintFields(fields?: FieldSet): string;
export declare function matchesField(field: Field): (otherField: Field) => boolean;
export declare const groupByResponseName: (iterable: Iterable<Field>) => Map<string, Field[]>;
export declare const groupByScope: (iterable: Iterable<Field>) => Map<string, Field[]>;
export declare function selectionSetFromFieldSet(fields: FieldSet, parentType?: GraphQLCompositeType): SelectionSetNode;
//# sourceMappingURL=FieldSet.d.ts.map