import type { QueryBuilder } from './query-builder'; export declare enum QueryClass { Index = "index", Project = "project", Grouping = "grouping" } /** * A QueryProperty can have these responses to appearing in a refinement * Head -- Legal in all queries, apply it to the first segment * Tail -- Legal in all queries,, apply it to the last segment * Single -- Only legal in queries with exactly one segment * undefined -- Not legal in a refinement */ export declare enum LegalRefinementStage { Single = 0, Head = 1, Tail = 2 } export interface QueryPropertyInterface { queryRefinementStage: LegalRefinementStage | undefined; forceQueryClass: QueryClass | undefined; needsExplicitQueryClass?: boolean; queryExecute?: (executeFor: QueryBuilder) => void; }