import { unitOfTime } from 'moment';
export interface TimeframeProps {
    id?: number;
    type: string;
    display: string;
    value?: 'All' | 'custom' | number;
    timeValue: string | unitOfTime.StartOf;
    quarter?: number;
    year?: string;
    disabled?: boolean;
    customClass?: string;
    custom?: string;
    aggregation?: string;
}
export interface CustomAggregationsProps {
    day?: string[];
    week?: string[];
    month?: string[];
    quarter?: string[];
    quarterly?: string[];
    year?: string[];
    current?: string[];
    previous?: CustomAggregationsProps;
    trailing?: string[];
    historical?: string[];
}
export interface GetAggregationProps {
    timeValue: string;
    customAggregations: CustomAggregationsProps;
}
export interface DisabledTimeframeOptionsProps {
    current: Array<string>;
    historical: Array<string>;
    quarterly: Array<string>;
    previous?: Array<string>;
    trailing?: Array<string>;
}
export interface ComparisonDateRangeProps {
    firstRange_endDate: moment.Moment | string;
    firstRange_startDate: moment.Moment | string;
    secondRange_endDate: moment.Moment | string;
    secondRange_startDate: moment.Moment | string;
}
export type CalloutType = 'UPDATE_RANGE' | 'UPDATE_TIMEFRAME' | 'RESET';
