import { ASTNode, Location } from 'graphql'; import { ProjectSource } from '../../project/source'; export declare class SourcePosition { readonly offset: number; readonly line: number; readonly column: number; /** * @param {number} offset the zero-based character offset within the source * @param {number} line the one-based line number * @param {number} column the one-based column number */ constructor(offset: number, line: number, column: number); } export type LocationLike = MessageLocation | Location | ASTNode; export declare class MessageLocation { readonly _start: SourcePosition | number; readonly _end: SourcePosition | number; readonly sourceName: string; readonly source: ProjectSource; constructor(source: string | ProjectSource, _start: SourcePosition | number, _end: SourcePosition | number); static from(location: LocationLike | undefined): MessageLocation | undefined; static fromGraphQLLocation(loc: Location): MessageLocation; get start(): SourcePosition; get end(): SourcePosition; toString(): string; } export declare function isASTNode(obj: LocationLike): obj is ASTNode; export declare function locationWithinStringArgument(node: LocationLike, offset: number, length: number): MessageLocation | undefined;