import { QueryEngineConfig } from '../QueryEngineConfig/types';
import { DateTimeField, NonDateTimeField } from '../Field/types';
export declare type FieldOverrides = Partial<{
    canBeDimension: boolean;
    canBeMeasure: boolean;
    allowedOperators: Array<string>;
}>;
export declare type DateTimeFieldOverrides = FieldOverrides & Partial<{
    allowedGranularities: Array<string>;
}>;
export declare const stringField: (queryEngineConfig: QueryEngineConfig, id: string, publicName: string, overrides?: FieldOverrides) => NonDateTimeField;
export declare const numberField: (queryEngineConfig: QueryEngineConfig, id: string, publicName: string, overrides?: FieldOverrides) => NonDateTimeField;
export declare const stringArrayField: (queryEngineConfig: QueryEngineConfig, id: string, publicName: string, overrides?: FieldOverrides) => NonDateTimeField;
export declare const booleanField: (queryEngineConfig: QueryEngineConfig, id: string, publicName: string, overrides?: FieldOverrides) => NonDateTimeField;
export declare const dateTimeField: (queryEngineConfig: QueryEngineConfig, id: string, publicName: string, overrides: DateTimeFieldOverrides) => DateTimeField;
