import * as React from 'react';
import { IStartEnd, IStartDuration, IEndDuration, TimeUnit } from './TimeWindowUtils';
import { DateUnit } from './QuickSelects';
import { Gemstone } from '@gpa-gemstone/application-typings';
interface ITimeWindow {
    start: string;
    end: string;
    unit: TimeUnit;
    duration: number;
}
export type ITimeFilter = IStartEnd | IStartDuration | IEndDuration;
/**
*    filter: an interface of IStartEnd | IStartDuration | IEndDuration | ICenterDuration
*    showQuickSelect: displays Quick Select component
*    isHorizontal: displays Quick Selects in horizontal view
*/
interface IProps {
    filter: ITimeFilter;
    setFilter: (start: string, end: string, unit: TimeUnit, duration: number) => void;
    showQuickSelect: boolean;
    dateTimeSetting: 'startWindow' | 'endWindow' | 'startEnd';
    timeZone: string;
    isHorizontal: boolean;
    format?: DateUnit;
    accuracy?: Gemstone.TSX.Types.Accuracy;
    showHelpMessage?: boolean;
}
declare const TimeFilter: (props: IProps) => React.JSX.Element;
export declare function getTimeWindowFromFilter(flt: ITimeFilter, format?: string): ITimeWindow;
export default TimeFilter;
