import { DocumentNode, OperationDefinitionNode } from "graphql"; import { OutputMap, QueryTransformer } from "./common"; export declare type HashTypeOption = "md5" | "sha1" | "sha256" | "sequential" | "uuid"; export declare const HASH_TYPES: HashTypeOption[]; export declare type ExtractGQLOptions = { inputFilePath: string; outputFilePath?: string; queryTransformers?: QueryTransformer[]; extension?: string; inJsCode?: boolean; hashType?: HashTypeOption; redisUrl?: string; redisPrefix?: string; }; export declare class ExtractGQL { inputFilePath: string; outputFilePath: string; queryId: number; queryTransformers: QueryTransformer[]; extension: string; inJsCode: boolean; hashType: HashTypeOption; literalTag: string; redisUrl: string; redisPassword: string; redisPrefix: string; static getFileExtension(filePath: string): string; static readFile(filePath: string): Promise; static isDirectory(path: string): Promise; constructor({ inputFilePath, outputFilePath, queryTransformers, extension, inJsCode, hashType, redisUrl, redisPrefix }: ExtractGQLOptions); addQueryTransformer(queryTransformer: QueryTransformer): void; applyQueryTransformers(document: DocumentNode): DocumentNode; getQueryKey(definition: OperationDefinitionNode): string; getQueryDocumentKey(document: DocumentNode): string; createMapFromDocument(document: DocumentNode): OutputMap; processGraphQLFile(graphQLFile: string): Promise; createOutputMapFromString(docString: string): OutputMap; readGraphQLFile(graphQLFile: string): Promise; readInputFile(inputFile: string): Promise; processInputPath(inputPath: string): Promise; readInputPath(inputPath: string): Promise; getQueryFragments(document: DocumentNode, queryDefinition: OperationDefinitionNode): DocumentNode; getQueryId(documentQuery: string): string | number; writeOutputMap(outputMap: OutputMap, outputFilePath: string): Promise; pushToRedis(outputMap: OutputMap): Promise; extract(): void; } export interface YArgsv { _: string[]; [key: string]: any; } export declare const main: (argv: YArgsv) => void;