import { BooleanField, DateField, JSONField, NumberField, SQLNativeField, StringField, TimestampField } from './atomic';
import { ArrayField, RecordField, RepeatedRecordField } from './nest';
import type * as Malloy from '@malloydata/malloy-interfaces';
export { ArrayField, RecordField, RepeatedRecordField, RootField } from './nest';
export { BooleanField, DateField, JSONField, NumberField, SQLNativeField, StringField, TimestampField, } from './atomic';
export type Field = ArrayField | RepeatedRecordField | RecordField | NumberField | DateField | JSONField | StringField | TimestampField | BooleanField | SQLNativeField;
export type NestField = RepeatedRecordField | RecordField;
export type RecordOrRepeatedRecordField = RepeatedRecordField | RecordField;
export type BasicAtomicField = NumberField | DateField | JSONField | StringField | TimestampField | BooleanField | SQLNativeField;
export type TimeField = DateField | TimestampField;
export declare const Field: {
    from(field: Malloy.DimensionInfo, parent: Field | undefined): Field;
    isNestField(field: Field): field is NestField;
    pathFromString(path: string): any;
    pathToString(path: string): string;
};
