import React from 'react';
import { AlertProps } from '../../module';
import type { CalloutType, ComparisonDateRangeProps, CustomAggregationsProps, DisabledTimeframeOptionsProps, TimeframeProps } from './TimeframesType';
import type { SideDrawerBase } from '../SideDrawer/SideDrawer';
type AlertCalloutType = {
    startDate: string;
    endDate: string;
    comparisonStartDate: string;
    comparisonEndDate: string;
};
export type AlertPropsWithDates = AlertProps & {
    selectedDatesCallout?: ({ startDate, endDate, comparisonStartDate, comparisonEndDate, }: AlertCalloutType) => void;
};
export type TimeframeFilterBodyProps = {
    /** Callout for each user action */
    callout: (calloutType: CalloutType, startDate: moment.Moment, endDate: moment.Moment, timeframe: TimeframeProps) => void;
    timeframe: TimeframeProps;
    historicalTimeframes?: Array<TimeframeProps>;
    /** Boolean: show the current timeframe options */
    currentTimeframe?: boolean;
    /** Boolean: show the previous timeframe options */
    previousTimeframe?: boolean;
    /** Boolean: show the quarterly timeframe options */
    quarterlyTimeframe?: boolean;
    /** Boolean: show the custom date calendar options */
    hideCustomDateSearch?: boolean;
    closeMenu?: () => void;
    useTimeframeAggregations?: boolean;
    customAggregations?: CustomAggregationsProps;
    startDate?: string;
    endDate?: string;
    disableTimeFrameFilter?: boolean;
    showHistoricTimeFrameDateRange?: boolean;
    showHistoricTimeFrameDateRangeOnMobile?: boolean;
    comparisonDateRange?: ComparisonDateRangeProps;
    getComparisonDateRange?: boolean;
    disabledTimeframeOptions?: DisabledTimeframeOptionsProps;
    updateToValidFilterState?: (calloutType: CalloutType, validOptions: unknown) => void;
    /** Passes any optional SideDrawer props to the ComparisonDatePicker SideDrawer */
    cdpSideDrawerProps?: Omit<SideDrawerBase, 'children' | 'isOpen' | 'closeCallout'>;
    /** Boolean: Show the new trailing timeframe options */
    trailingTimeframe?: boolean;
    alertProps?: AlertPropsWithDates;
    /** Current path from the router */
    currentPath?: string;
};
declare const Timeframe: ({ callout, historicalTimeframes, timeframe, trailingTimeframe, currentTimeframe, previousTimeframe, quarterlyTimeframe, hideCustomDateSearch, closeMenu, useTimeframeAggregations, customAggregations, startDate, endDate, disableTimeFrameFilter, showHistoricTimeFrameDateRange, showHistoricTimeFrameDateRangeOnMobile, comparisonDateRange, getComparisonDateRange, disabledTimeframeOptions, updateToValidFilterState, cdpSideDrawerProps, alertProps, currentPath, }: TimeframeFilterBodyProps) => React.JSX.Element;
export default Timeframe;
