import { ComplexQueryNodeType } from "./complexQueryNodeType"; export declare type AbstractQueryString = AbstractQueryStringNode[]; export interface AbstractQueryStringNode { type: ComplexQueryNodeType; source: { start: number; end: number; }; } export declare function isAbstractQueryStringNode(node: any): node is AbstractQueryStringNode; export interface AbstractQueryStringNodeString extends AbstractQueryStringNode { value: string; type: ComplexQueryNodeType.STRING; } export declare function isAbstractQueryStringNodeString(node: any): node is AbstractQueryStringNodeString; export interface AbstractQueryStringNodeValue extends AbstractQueryStringNode { tag: string; type: ComplexQueryNodeType.VALUE; value: string; } export declare function isAbstractQueryStringNodeValue(node: any): node is AbstractQueryStringNodeValue; export interface AbstractQueryStringNodeGroup extends AbstractQueryStringNode { tag: string; type: ComplexQueryNodeType.GROUP; children: AbstractQueryStringNode[]; } export declare function isAbstractQueryStringNodeGroup(node: any): node is AbstractQueryStringNodeGroup; export interface AbstractQueryStringNodeRange extends AbstractQueryStringNode { tag: string; type: ComplexQueryNodeType.RANGE; range: { start: number; end: number; } | { start: number; } | { end: number; }; } export declare function isAbstractQueryStringNodeRange(node: any): node is AbstractQueryStringNodeRange;