import type * as Malloy from '@malloydata/malloy-interfaces';
import { Tag } from '@malloydata/malloy-tag';
import { DurationUnit } from './html/data_styles';
import type { Cell, NestField } from './data_tree';
import { Field } from './data_tree';
export declare const NULL_SYMBOL = "\u2205";
export declare function tagFromAnnotations(annotations: Malloy.Annotation[] | undefined, prefix?: string): Tag;
export declare function getTextWidthCanvas(text: string, font: string, canvasToUse?: HTMLCanvasElement): number;
export declare function getTextWidthDOM(text: string, styles: Record<string, string>): number;
export declare function clamp(s: number, e: number, v: number): number;
export declare function getRangeSize(range: [number, number]): number;
export declare function formatTimeUnit(value: number, unit: DurationUnit, options?: {
    numFormat?: string;
    terse?: boolean;
}): string;
export declare function getText(field: Field, value: number, options: {
    durationUnit?: string;
}): string | null;
export declare function renderTimeString(value: Date, isDate: boolean, timeframe?: string): string;
export declare function valueToMalloy(value: Cell): string;
export declare function walkFields(e: NestField, cb: (f: Field) => void): void;
export declare function notUndefined<T>(x: T | undefined): x is T;
