export declare type IGraphQLQueryType = 'query' | 'mutation' | 'subscription'; export declare type IGraphQLField = IGraphQLFragment | IGraphQLProperty | IGraphQLOperation; export interface IGraphQLProperty { name: string; parser: (data: any) => any; } export declare class GraphQLProperty { private _name; private _parser; constructor(name: string, parser: (data: any) => any); } export interface IGraphQLFragment { name: string; type: string; fields: IGraphQLField[]; parser: (data: any) => any; } export interface IGraphQLVariable { type?: string; name: string; value: any; list?: boolean; required?: boolean; } export interface IGraphQLOperationVariable { queryVariable: IGraphQLVariable; alias: string; } export interface IGraphQLOperation { alias?: string; operation: string; fields: IGraphQLField[]; variables?: Set; parser: (data: any) => any; } export interface IGraphQLQuery { queryType: IGraphQLQueryType; name: string; root: IGraphQLOperation[]; variables?: Set; } export declare function buildQueryVariableString(query: IGraphQLQuery): string; export declare function buildQueryString(query: IGraphQLQuery): { queryString: string; variables: any; };