/// <reference types="react" />
import { DataSource, Filter, LevelAttribute } from '@sisense/sdk-data';
import { FilterTileDesignOptions } from '../../filter-tile-container';
import type { FilterTileConfig } from '../../filter-tile/types';
/**
 * Props of the {@link DateRangeFilterTile} component.
 */
export interface DateRangeFilterTileProps {
    /**
     * Filter tile title
     */
    title: string;
    /**
     * Date level attribute the filter is based on
     */
    attribute: LevelAttribute;
    /**
     * Data source the query is run against - e.g. `Sample ECommerce`
     *
     * If not specified, the query will use the `defaultDataSource` specified in the parent Sisense Context.
     */
    dataSource?: DataSource;
    /**
     * Date range filter.
     */
    filter: Filter;
    /**
     * Earliest allowed date for selection.
     *
     * If not specified, the earliest date of the target date-level attribute will be used.
     */
    earliestDate?: string;
    /**
     * Latest allowed date for selection.
     *
     * If not specified, the latest date of the target date-level attribute will be used.
     */
    lastDate?: string;
    /**
     * Callback function that is called when the date range filter object should be updated.
     *
     * @param filter - Date range filter
     */
    onChange: (filter: Filter) => void;
    /** Filter delete callback */
    onDelete?: () => void;
    /** Filter edit callback */
    onEdit?: () => void;
    /**
     * List of filters this filter is dependent on.
     */
    parentFilters?: Filter[];
    /**
     * Whether to display the filter as a tiled version.
     *
     * @default false
     * @internal
     */
    tiled?: boolean;
    /**
     * Design options for the filter tile component
     *
     * @internal
     */
    tileDesignOptions?: FilterTileDesignOptions;
    /**
     * Config for the filter tile
     *
     * @internal
     */
    config?: FilterTileConfig;
    /**
     * Render header title
     *
     * @internal
     */
    renderHeaderTitle?: (title: React.ReactNode) => React.ReactNode;
}
/**
 * Date Range Filter Tile component for filtering data by date range.
 *
 * @example
 * React example of configuring the date min max values and handling onChange event.
 * ```tsx
 * const [dateRangeFilter, setDateRangeFilter] = useState<Filter>(
 *   filterFactory.dateRange(DM.Commerce.Date.Years),
 * );
 *
 * return (
 *   <DateRangeFilterTile
 *     title="Date Range"
 *     attribute={DM.Commerce.Date.Years}
 *     filter={dateRangeFilter}
 *     onChange={(filter: Filter) => {
 *       setDateRangeFilter(filter);
 *     }}
 *   />
 * );
 * ```
 *
 * <img src="media://date-filter-example-1.png" width="800px" />
 * @param props - Date Range Filter Tile Props
 * @returns Date Range Filter Tile component
 * @group Filter Tiles
 */
export declare const DateRangeFilterTile: import("react").FunctionComponent<DateRangeFilterTileProps>;
