import { DocumentNode, FieldNode, DirectiveNode, FragmentDefinitionNode, ArgumentNode, FragmentSpreadNode, VariableDefinitionNode, ASTNode } from 'graphql'; export type RemoveNodeConfig = { name?: string; test?: (node: N) => boolean; remove?: boolean; }; export type GetNodeConfig = { name?: string; test?: (node: N) => boolean; }; export type RemoveDirectiveConfig = RemoveNodeConfig; export type GetDirectiveConfig = GetNodeConfig; export type RemoveArgumentsConfig = RemoveNodeConfig; export type GetFragmentSpreadConfig = GetNodeConfig; export type RemoveFragmentSpreadConfig = RemoveNodeConfig; export type RemoveFragmentDefinitionConfig = RemoveNodeConfig; export type RemoveVariableDefinitionConfig = RemoveNodeConfig; export declare function removeDirectivesFromDocument(directives: RemoveDirectiveConfig[], doc: DocumentNode): DocumentNode | null; export declare const addTypenameToDocument: ((doc: TNode) => TNode) & { added(field: FieldNode): boolean; }; export declare function removeConnectionDirectiveFromDocument(doc: DocumentNode): DocumentNode | null; export declare function removeArgumentsFromDocument(config: RemoveArgumentsConfig[], doc: DocumentNode): DocumentNode | null; export declare function removeFragmentSpreadFromDocument(config: RemoveFragmentSpreadConfig[], doc: DocumentNode): DocumentNode | null; export declare function buildQueryFromSelectionSet(document: DocumentNode): DocumentNode; export declare function removeClientSetsFromDocument(document: DocumentNode): DocumentNode | null; //# sourceMappingURL=transform.d.ts.map