import type { TimestampUnit } from '../../../model/malloy_types'; import type { ExprValue } from '../types/expr-value'; import { ExpressionDef } from '../types/expression-def'; import type { FieldSpace } from '../types/field-space'; import { Range } from './range'; import type * as Malloy from '@malloydata/malloy-interfaces'; /** * GranularTime is a moment in time which ALSO has a "granularity" * commonly this are created by applying ".datePart" to an expression * 1) They have a value, which is the moment in time * 2) When used in a comparison, they act like a range, for the * duration of 1 unit of granularity */ export declare class ExprGranularTime extends ExpressionDef { readonly expr: ExpressionDef; readonly units: TimestampUnit; readonly truncate: boolean; elementType: string; legalChildTypes: import("../../../model/malloy_types").TypeDesc[]; constructor(expr: ExpressionDef, units: TimestampUnit, truncate: boolean); granular(): boolean; drillExpression(): Malloy.Expression | undefined; getExpression(fs: FieldSpace): ExprValue; toRange(fs: FieldSpace): Range; }