export declare type GraphQLQueryType = 'query' | 'mutation' | 'subscription'; declare abstract class GraphQLField { abstract getFragments(fragments: Set): any; abstract toQueryString(): any; abstract parse(data: any): any; } export declare class GraphQLProperty extends GraphQLField { private _name; protected _parser: (data: any) => any; constructor({ name, parser, }: { name: string; parser: (field: GraphQLProperty, data: any) => any; }); get name(): string; getFragments(_fragments: Set): void; toQueryString(): string; parse(data: any): any; parser(data: any): { key: string; data: any; }; } export declare class GraphQLFragment extends GraphQLField { private _name; private _type; private _fields; private _parser; constructor({ name, type, fields, parser, }: { name: string; type: string; fields: GraphQLField[]; parser: (fragment: GraphQLFragment, data: any) => any; }); get fields(): GraphQLField[]; toQueryString(): string; toFragmentString(): string; getFragments(fragments: Set): void; parse(data: any): T; } export interface IGraphQLVariable { type?: string; name: string; value: any; list?: boolean; required?: boolean; } export interface IGraphQLOperationVariable { queryVariable: IGraphQLVariable; alias: string; } export declare class GraphQLOperation extends GraphQLField { private _alias?; private _operation; private _fields; private _variables?; private _parser; constructor({ operation, fields, parser, alias, variables, }: { operation: string; fields: GraphQLField[]; parser: (field: GraphQLOperation, data: any) => any; alias?: string; variables?: Set; }); getFragments(fragments: Set): void; toQueryString(): string; get fields(): GraphQLField[]; parse(data: any): any; } export declare class GraphQLQuery { private _queryType; private _name; private _root; private _variables?; constructor({ queryType, name, root, variables, }: { queryType: GraphQLQueryType; name: string; root: GraphQLOperation[]; variables?: Set; }); get root(): GraphQLOperation[]; parse(result: any): any[]; private toQueryVariableString; private fragments; private buildFragmentsString; buildQueryString(): { queryString: string; variables: any; }; } export declare class GraphQLResult { private _query; constructor(query: GraphQLQuery); parse(resultData: { data: string; }): any[]; } export {};