/// <reference types="react" />
import { TextOverride } from '../../../../shared-logic/src/Translations/types';
import { DateRangeFormat } from './DateTimePickerInput';
import { TimeRangeFormat } from './TimePickerCore';
import { VizzlyComponents } from '../../types';
import moment from 'moment';
import { QueryEngineConfig } from '../../../../shared-logic/src/QueryEngineConfig/types';
import { DataSet } from '../../../../shared-logic/src/DataSet/types';
import { QueryAttributes } from '../../../../shared-logic/src/QueryAttributes/types';
import { DashboardBehaviour } from '../../contexts/DashboardBehaviour/types';
declare type DatePickerProps = {
    id?: string | number;
    dynamicWidth?: boolean;
    dateFormat?: DateRangeFormat;
    timeFormat?: TimeRangeFormat;
    textOverride?: TextOverride;
    setShowCustom?: (value: boolean) => void;
    datePickerFormat?: DashboardBehaviour['datePickerFormat'];
    showCustom?: boolean;
    queryEngineConfig?: QueryEngineConfig;
    data?: DataSet[];
    relative?: RelativeRangeState;
    onOpenChange?: (open: boolean) => void;
} & VizzlyComponents.ComponentOverrides.Props.DateTimeRangeInput;
export declare type Time = {
    start?: moment.Moment | null;
    end?: moment.Moment | null;
};
export declare type FixedRangeState = {
    start: moment.Moment | null;
    end: moment.Moment | null;
};
export declare type RelativeRangeState = QueryAttributes.Filter[][];
export declare enum RangeType {
    Fixed = 0,
    Relative = 1
}
export declare type DateRangePickerState = {
    relative?: RelativeRangeState;
    fixed?: FixedRangeState;
    type: RangeType;
};
declare const _default: (props: DatePickerProps) => JSX.Element;
export default _default;
