import { IFilter } from '../../Utilities/Filter';
/**
 * Base set of properties for any filter bar item component
 */
export interface IFilterBarItemProps {
    componentRef?: (component: IFilterBarItem) => void;
    /**
     * The filter store that this filter bar updates (optional, the parent FilterBar's filter is used by default)
     */
    filter?: IFilter;
    /**
     * The unique key for this filter item whose value is updated by changes to this filter item.
     */
    filterItemKey: string;
    /**
     * Text to show for the filter in the case that there is no current value
     */
    placeholder?: string;
    /**
     * Comparer of filter values to determine when the filter needs to be updated.
     */
    filterValueComparer?: (a: any, b: any) => boolean;
    /**
     * Key for FilterBarItem. If this is changed, will always update state with new props.
     */
    setKey?: string;
    /**
     *
     */
    isTextItem?: boolean;
}
export interface IFilterBarItem {
    /**
     * Focuses the item
     */
    focus(): void;
    /**
     * Re-render the FilterBarItem
     */
    forceUpdate(): void;
}
