import { ITimezoneOffset } from '../../types';
import { IRelativeTimeInput } from '../absolute-time-picker/absolute-time-picker.types';
import { IRelativeTimePickerOption, ITimePickerRelativeTime, ITimePickerTimezone } from '../relative-time-picker/relative-time-picker.types';
import { ITimePickerTime, ITimePickerTimeState, SelectedTimestamp } from './time-picker.types';
/**
 * Generates the text displayed in the dropdown when the custom interval option is selected
 * @param range range in timestamp
 * @param timezone timezone applied to the timestamp
 * @returns label to be displayed in the dropdown
 */
export declare const buildCustomIntervalTimeRange: (range: SelectedTimestamp, timezone: string) => string;
/**
 * Generates the text to be displayed by the tooltip when the dropdown input is hovered
 * @param range selectd range
 * @param timezones timezones available
 * @returns tooltip text to be displayed
 */
export declare const buildTooltipText: (range: SelectedTimestamp, selectdTimezone: ITimePickerTimezone, timezonesByOffset: ITimezoneOffset[]) => string;
export declare const createTimestampInTimezoneFromFormattedDate: (date: string, timezone: string, format?: string) => number;
/**
 * Transforms the selected timestamp range in formatted dates to be read by the kv-absolute-time-picker component
 * @param selectedOption selected ranges and timezone
 * @returns range in the calendar date time format
 */
export declare const getAbsoluteTimePickerRangeDates: (selectedOption: ITimePickerTimeState, defaultTimezone: ITimePickerTimezone) => string[];
export declare const getLast24HoursRange: () => SelectedTimestamp;
export declare const getRelativeTimeInputText: (options: IRelativeTimePickerOption[][], selectedTimeOption: ITimePickerRelativeTime, timezone: string) => IRelativeTimeInput;
export declare const getRelativeTimeLabel: (relativeTimeValue: string | undefined, relativeTimeOptions: IRelativeTimePickerOption[][]) => string | undefined;
export declare const getTimestampFromDateRange: (range: SelectedTimestamp, previousTimezone: string, newTimezone: string) => SelectedTimestamp;
export declare const hasRangeChanged: (componentRangeState: SelectedTimestamp, propRangeState: SelectedTimestamp) => boolean;
export declare const validateNewRange: (range: SelectedTimestamp) => boolean;
export declare const getTimePickerEventPayload: (timeState: ITimePickerTimeState, timezone: ITimePickerTimezone) => ITimePickerTime;
