import { CustomField } from '../CustomField/types';
import { DateTimeField, NonDateTimeField } from '../Field/types';
import { PartialBy } from '../typeHelpers';
export declare namespace DataSet {
    type Field = DateTimeField | NonDateTimeField | CustomField;
    type PreUpcastField = PartialBy<DateTimeField, 'allowedGranularities' | 'allowedOperators' | 'canBeDimension' | 'canBeMeasure' | 'supportedAggregateOptions'> | PartialBy<NonDateTimeField, 'allowedOperators' | 'canBeDimension' | 'canBeMeasure' | 'supportedAggregateOptions'> | PartialBy<CustomField, 'allowedOperators' | 'canBeDimension' | 'canBeMeasure' | 'supportedAggregateOptions'>;
}
export declare type DataSet<Field = DataSet.Field> = {
    id: string;
    name: string;
    description?: string;
    /**
     * Hide the data set from the editor. This allows data sets to be used to power dashboard
     * filters, but not used to create views on.
     * */
    hide?: boolean;
    fields: Field[];
    preAggregated?: undefined | false | string[];
};
