export declare const graphQLContent: unique symbol;
export interface GraphQLDocument {
    [graphQLContent]: string;
}
/**
 * Use this template string tag for all GraphQL queries.
 */
export declare const gql: (template: TemplateStringsArray, ...substitutions: any[]) => GraphQLDocument;
export interface SuccessGraphQLResult<T> {
    data: T;
    errors: undefined;
}
export interface ErrorGraphQLResult {
    data: undefined;
    errors: any; /**  GQL.IGraphQLResponseError[]; */
}
export declare type GraphQLResult<T> = SuccessGraphQLResult<T> | ErrorGraphQLResult;
export declare function isGraphQLError<T>(result: GraphQLResult<T>): result is ErrorGraphQLResult;
export declare function dataOrThrowErrors<T>(result: GraphQLResult<T>): T;
export interface GraphQLError extends Error {
    queryName: string;
}
export declare const createInvalidGraphQLQueryResponseError: (queryName: string) => GraphQLError;
export declare const createInvalidGraphQLMutationResponseError: (queryName: string) => GraphQLError;
