import { GraphQLProjectConfig } from 'graphql-config'; import { AST, Operation } from 'graphql-tool-utilities'; export declare type KeyPath = string; export interface Fixture { path: string; content: any; } export interface Error { keyPath?: KeyPath; message: string; } export interface GraphQLProjectAST { config: GraphQLProjectConfig; ast: AST; } export interface FoundOperation { lookForOperationName: string; operation: Operation; projectAST: GraphQLProjectAST; } export declare class MissingOperationError extends Error { constructor({ path }: Fixture, lookForOperationNames: string[], projectASTCollection: GraphQLProjectAST[]); } export declare class AmbiguousOperationNameError extends Error { constructor({ path }: Fixture, foundOperations: FoundOperation[]); } export interface Validation { fixturePath: string; operationName?: string; operationType?: string; operationPath?: string; validationErrors: Error[]; } export declare function getOperationNames(fixture: Fixture): string[]; export declare function findOperations(lookForOperationNames: string[], projectASTCollection: GraphQLProjectAST[]): FoundOperation[]; export declare function getOperationForFixture(fixture: Fixture, projectASTCollection: GraphQLProjectAST[]): FoundOperation; export interface FixtureOperation { fixture: Fixture; operation: Operation; operationName: string; } export declare function validateFixture(fixture: Fixture, ast: AST, operation: Operation): Validation;