///
import { DatepickerOverrides, FormatString, StatelessDatePickerProps } from '../date-picker';
import { Override } from '../overrides';
import { Option } from '../baseui/select';
import { BaseSelectProps } from '../select/types';
export type { FormatString } from '../date-picker';
export declare type TimeRangePreset = {
id: string;
label: string;
getTimeRangeLimits?: (timezone?: string) => [Date, Date] | [];
};
export declare type TimezonePickerProps = {
setTimezone: React.Dispatch;
timezone: string;
overrides?: BaseSelectProps['overrides'];
};
export declare type TimeRangeListProps = {
timeRangePresets: TimeRangePreset[];
onChange: ({ date, preset }: any) => void;
timeRange?: Date[];
preset: string | undefined;
overrides?: {
Menu?: Override;
MenuItem?: Override;
};
};
export declare type TimeRangePickerOverrides = DatepickerOverrides> & {
TimeRangeList?: Override>;
Header?: Override>;
HeaderBeforeEnhancer?: Override>;
FooterBeforeEnhancer?: Override>;
Calendar?: Override>;
};
export declare type TimeRangePickerValue = {
value: Date[] | string;
date: Date[];
preset: string;
timezone?: string;
};
declare type Preset = string;
export declare type SizeVariant = 'default' | 'compact' | 'iconButton';
export declare type FormatSummaryValueOptions = {
date: Date[];
presetId: string;
presetLabel: string;
timezone?: string;
formatString?: string;
showFullDateInSummary?: boolean;
showTimezoneInSummary?: boolean;
adapter?: any;
locale?: any;
hidePresetLabel?: boolean;
displayVariant?: SizeVariant;
};
export declare type TimeRangePickerProps = Omit & {
/**
* @deprecated Please prevent passing preset to value. Instead, pass it in the prop `preset`.
* This will be removed in future major releases.
*/
value?: Preset | Date[];
preset?: Preset;
timeRangePresets?: TimeRangePreset[];
onSubmit: (timeRangePickerValue: TimeRangePickerValue) => void;
overrides?: TimeRangePickerOverrides;
mapLabels?: (args: Option) => React.ReactNode;
onChange?: (timeRangePickerValue: TimeRangePickerValue) => any;
showTimezoneInSummary?: boolean;
onClear?: () => void;
showFullDateInSummary?: boolean;
startOpen?: boolean;
disableTimezone?: boolean;
displayVariant?: SizeVariant;
formatDisplayValue?: (date: Date | undefined | null | Array, formatString: string, options: FormatSummaryValueOptions) => string;
};
export declare type RangeSelectorContainerProps = Omit & {
timeRangePresets: TimeRangePreset[];
onSubmit: ({ timeRange, preset, timezone }: {
timeRange: Date[];
preset?: string;
timezone?: string;
}) => void;
onClose: () => void;
timeRange: Date[];
timezone: string;
formatString: FormatString;
};
export declare type RangeSelectorProps = Omit & {
timeRange?: Date[];
onChange: ({ date, preset }: any) => void;
preset: string | undefined;
};