import type { ArgumentNode, DirectiveNode, Location, ValueNode } from 'graphql'; import { TextChange } from './change-set.js'; /** * Creates a change that removes a node that shares its line with other content (e.g. a directive), * including the spaces before it * * If the node is on its own line, the whole line is removed. */ export declare function createRemoveInlineNodeChange(loc: Location): TextChange; /** * Creates a change that inserts text at the given offset of the source of a GraphQL location */ export declare function createInsertionChange(offset: number, loc: Location, text: string): TextChange; /** * Creates a change that removes a node that is on its own lines (e.g. a field or a type), including * the line break after it * * If there is other content on the first or last line, only the node and the spaces before it are * removed. */ export declare function createRemoveLinesChange(loc: Location): TextChange; /** * Creates a change that removes an argument from a directive, including the parentheses if it is * the only argument */ export declare function createRemoveArgumentChange(directive: DirectiveNode, argument: ArgumentNode): TextChange | undefined; /** * Creates a change that removes a value from a list value (e.g. ["a", "b"]), including the comma * before or after it */ export declare function createRemoveListValueChange(value: ValueNode): TextChange | undefined;