import type { Expr, FilterCondition, PipeSegment, TurtleDef, TypeDesc } from '../../../model/malloy_types'; import type { FieldReference } from '../query-items/field-references'; import type { ExprValue } from '../types/expr-value'; import { ExpressionDef } from '../types/expression-def'; import { type FieldSpace } from '../types/field-space'; import type { Literal } from '../types/literal'; import type { QueryPropertyInterface } from '../types/query-property-interface'; import { LegalRefinementStage } from '../types/query-property-interface'; import type { FilterElement } from './filters'; import { Filter } from './filters'; export declare class DrillField extends ExpressionDef { readonly expr: Expr; readonly typeDesc: TypeDesc; elementType: string; constructor(expr: Expr, typeDesc: TypeDesc); getExpression(_fs: FieldSpace): ExprValue; } export declare class Drill extends Filter implements QueryPropertyInterface { elementType: string; forceQueryClass: undefined; queryRefinementStage: LegalRefinementStage; protected checkedDrillCondition(fs: FieldSpace, filter: FilterElement, reference: FieldReference, value: Literal): FilterCondition | undefined; protected checkedFilterCondition(fs: FieldSpace, filter: FilterElement): FilterCondition | undefined; } export declare function updateNestedDrillPaths(nest: TurtleDef, name: string): TurtleDef; export declare function attachDrillPaths(pipeline: PipeSegment[], nestName: string): PipeSegment[];