import { RequestOptions } from '../utils/request';
import { ObjectMap } from './utils';
export interface GraphQLQueryDefinition {
    kind: string;
    name: {
        value: string;
    };
    loc: {
        source: {
            body: string;
        };
    };
}
export interface QueryOptions {
    url: string;
    requestOptions: RequestOptions;
    stringifyVariables: boolean;
}
export declare const defaultQueryOpts: QueryOptions;
export interface QuickQLQuery {
    operationName: string | null;
    namedQuery: string | null;
    query: string | {
        definitions: GraphQLQueryDefinition[];
    };
    variables: ObjectMap<any> | null;
}
export declare const defaultQuickQLQuery: QuickQLQuery;
export declare function parseQuery(query: string | {
    definitions: GraphQLQueryDefinition[];
}): string;
export declare function query<T>(query: QuickQLQuery, options?: Partial<QueryOptions>): Promise<{
    data: T;
    ok: boolean;
    statusText: string;
}>;
