import { GraphQLError } from "graphql"; export declare class ParameterEnum { value: string | string[]; constructor(value: string | string[]); } export declare function enumValue(value: string | string[]): ParameterEnum; /** * see src/graph/graphQL.ts */ export declare function subscription(options: SubscriptionOptions): string; export declare type SubscriptionVariables = Record string | boolean | number | ParameterEnum | string[] | boolean[] | number[])>; export interface SubscriptionOptions { subscription?: string; path?: string; name?: string; fragmentDir?: string; inline?: boolean; variables?: SubscriptionVariables; operationName?: string; moduleDir?: string; } /** * Prepare a GraphQL query string for the use with Apollo. * * Queries can be provided by the following options: * * * query: string containing the subscription GraphQL, or * * path: absolute or relative path to a .graphql file to load; if provided a relative * path this will resolve the relative path to an absolute given the location * of the calling script. * * name: name of the .graphql file to load; this will walk up the directory structure * starting at the location of the calling script and look for a folder called * 'graphql'. Once that folder is found, by convention name is being looked for * in the 'query' sub directory. * * fragmentsDir: location of fragment .graphql files * * moduleDir: location of the calling script * * inline: remove any unneeded whitespace and line breaks from returned GraphQL string * * @param {{query?: string; path?: string; name?: string; fragmentDir?: string; moduleDir: string; inline?: boolean}} options * @returns {string} */ export declare function query(options: QueryOptions): string; export interface QueryOptions { query?: string; path?: string; name?: string; fragmentDir?: string; moduleDir: string; inline?: boolean; } /** * Prepare a GraphQL mutation string for the use with Apollo. * * Mutations can be provided by the following options: * * * mutation: string containing the subscription GraphQL, or * * path: absolute or relative path to a .graphql file to load; if provided a relative * path this will resolve the relative path to an absolute given the location * of the calling script. * * name: name of the .graphql file to load; this will walk up the directory structure * starting a t the location of the calling script and look for a folder called * 'graphql'. Once that folder is found, by convention name is being looked for * in the 'mutation' sub directory. * * moduleDir: location of the calling script * * inline: remove any unneeded whitespace and line breaks from returned GraphQL string * * @param {{mutation?: string; path?: string; name?: string; moduleDir: string; inline?: boolean}} options * @returns {string} */ export declare function mutate(options: MutationOptions): string; export interface MutationOptions { mutation?: string; path?: string; name?: string; moduleDir: string; inline?: boolean; } /** * see src/graph/graphQL.ts */ export declare function ingester(options: IngesterOptions): string; export interface IngesterOptions { name?: string; path?: string; moduleDir?: string; } /** * Extract operationName from the provided query or subscription * @param {string} q * @returns {string} */ export declare function operationName(q: string): string; /** * Inline the given query. Mainly useful for nicer log messages * @param {string} query * @returns {string} */ export declare function inlineQuery(q: string): string; /** * Replace the operation name in the query or subscription */ export declare function replaceOperationName(q: string, name: string): string; export declare function prettyPrintErrors(errors: GraphQLError[], q?: string): string; export declare function replaceParameters(q: string, parameters?: SubscriptionVariables, options?: { hash: boolean; }): string; export declare function resolveAndReadFileSync(path: string, current?: string, parameters?: { [name: string]: string | boolean | number | ParameterEnum; }): string; //# sourceMappingURL=graphQL.d.ts.map