import * as React from "react"; import * as PropTypes from "prop-types"; import { ExtendedDateFilters } from "@gooddata/typings"; interface IStatePropsIntersection { excludeCurrentPeriod: boolean; selectedFilterOption: ExtendedDateFilters.DateFilterOption; } export interface IDateFilterOwnProps extends IStatePropsIntersection { filterOptions: ExtendedDateFilters.IDateFilterOptionsByType; availableGranularities: ExtendedDateFilters.DateFilterGranularity[]; isEditMode?: boolean; customFilterName?: string; dateFilterMode: ExtendedDateFilters.DashboardDateFilterConfigMode; locale?: string; } export interface IDateFilterCallbackProps { onApply: (dateFilterOption: ExtendedDateFilters.DateFilterOption, excludeCurrentPeriod: boolean) => void; onCancel?: () => void; onOpen?: () => void; onClose?: () => void; } export interface IDateFilterProps extends IDateFilterOwnProps, IDateFilterCallbackProps { } interface IDateFilterState extends IStatePropsIntersection { initExcludeCurrentPeriod: boolean; initSelectedFilterOption: ExtendedDateFilters.DateFilterOption; isExcludeCurrentPeriodEnabled: boolean; } export declare class DateFilter extends React.PureComponent { static propTypes: { excludeCurrentPeriod: PropTypes.Validator; selectedFilterOption: PropTypes.Validator; filterOptions: PropTypes.Validator; availableGranularities: PropTypes.Validator; isEditMode: PropTypes.Requireable; customFilterName: PropTypes.Requireable; dateFilterMode: PropTypes.Validator; locale: PropTypes.Requireable; onApply: PropTypes.Validator; onCancel: PropTypes.Requireable; onOpen: PropTypes.Requireable; onClose: PropTypes.Requireable; }; static defaultProps: Partial; static getDerivedStateFromProps(nextProps: IDateFilterProps, prevState: IDateFilterState): IDateFilterState; private static getStateFromProps; private static getStateFromSelectedOption; constructor(props: IDateFilterProps); render(): React.ReactNode; private handleApplyClick; private onChangesDiscarded; private onCancelClicked; private onDropdownOpenChanged; private handleExcludeCurrentPeriodChange; private handleSelectedFilterOptionChange; } export declare const testAPI: { normalizeSelectedFilterOption: (selectedFilterOption: ExtendedDateFilters.DateFilterOption) => ExtendedDateFilters.DateFilterOption; }; export {};