import { QueryParameters } from '../graph'; import { QueryTag, TagValue } from './QueryTag'; export type QueryLike = string | Query | QueryNode; export type QueryNode = MultistepQuery | Query | QueryTag; export { QueryTag } from './QueryTag'; export declare class MultistepQuery { t: 'multistep'; steps: Query[]; constructor(steps: Query[]); toQueryString(): string; } export declare class Query { t: 'query'; tags: QueryTag[]; tagsByAttr: Map; frozen: boolean; constructor(tags: QueryTag[]); addTag(attr: string, value?: TagValue): QueryTag; freeze(): void; withoutFirstTag(): Query; has(attr: string): boolean; hasAttr(attr: string): boolean; hasValue(attr: string): boolean; getValue(attr: string): TagValue; getStringValue(attr: string): string; getNumberValue(attr: string): number; getQueryValue(attr: string): Query; getOptionalNumberValue(attr: string, defaultValue: number): number; getNumber(attr: string): number; getAttr(attr: string): QueryTag; getNestedQuery(attr: string): Query; tagAtIndex(index: number): QueryTag; getPositionalAttr(index: number): string; getCommand(): string; tagsAfterCommand(): Generator; getPositionalValue(index: number): TagValue; toQueryString(): string; toItemValue(): any; withInlinedParams(params: QueryParameters): Query; dataAsObject(): {}; _refresh(): void; }