import { type DocumentNode } from 'graphql'; import ts from '../tsmodule'; import { type StrictTagCondition } from '../ts-ast-util'; export type DocumentTransformer = (documentNode: DocumentNode) => DocumentNode; export type TransformOptions = { tag: StrictTagCondition; documentTransformers: DocumentTransformer[]; removeFragmentDefinitions: boolean; target: 'text' | 'object'; getDocumentNode: (node: ts.NoSubstitutionTemplateLiteral | ts.TemplateExpression) => DocumentNode | undefined; getEnabled: () => boolean; }; export declare function getTransformer({ tag, target, getDocumentNode, removeFragmentDefinitions, documentTransformers, getEnabled, }: TransformOptions): (ctx: ts.TransformationContext) => (sourceFile: ts.SourceFile) => ts.SourceFile;