import type { AggregateFieldReference, DimensionReference, DimensionReferenceWithOptions, ExpressionReference, FieldId, FieldReference, ReferenceOptions, TemplateTagReference } from "../../metabase-types/api";
export declare const isFieldReference: (mbql: any) => mbql is FieldReference;
export declare const isExpressionReference: (mbql: any) => mbql is ExpressionReference;
export declare const isAggregationReference: (mbql: any) => mbql is AggregateFieldReference;
export declare const isTemplateTagReference: (mbql: any) => mbql is TemplateTagReference;
export declare const createFieldReference: (columnNameOrFieldId: string | FieldId) => FieldReference;
export declare const isValidDimensionReference: (mbql: any) => mbql is DimensionReference;
export declare const normalizeReferenceOptions: (options?: ReferenceOptions | null) => ReferenceOptions | null;
export declare const getNormalizedDimensionReference: (mbql: DimensionReference) => DimensionReference;
export declare const BASE_DIMENSION_REFERENCE_OMIT_OPTIONS: string[];
export declare const getBaseDimensionReference: (mbql: DimensionReferenceWithOptions) => DimensionReferenceWithOptions;
/**
 * Whether this Field clause has a string Field name (as opposed to an integer Field ID). This generally means the
 * Field comes from a native query.
 */
export declare const hasStringFieldName: (mbql: FieldReference) => boolean;
