/// <reference types="react" />
import { Filter, Measure } from '@sisense/sdk-data';
import { FilterVariant } from '../common/filter-utils.js';
import { FilterTileDesignOptions } from '../filter-tile-container.js';
import type { FilterTileConfig } from '../filter-tile/types.js';
/**
 * Props of the {@link CriteriaFilterTile} component.
 */
export interface CriteriaFilterTileProps {
    /** Title for the filter tile, which is rendered into the header */
    title: string;
    /** Text or numeric filter object to initialize filter type and default values */
    filter: Filter;
    /** Arrangement of the filter inputs. Use vertical for standard filter tiles and horizontal for toolbars */
    arrangement?: FilterVariant;
    /** Callback returning updated filter object*/
    onUpdate: (filter: Filter) => void;
    /** Filter delete callback */
    onDelete?: () => void;
    /** Filter edit callback */
    onEdit?: () => void;
    /** List of available measures to rank by. Required only for ranking filters. */
    measures?: Measure[];
    /**
     * 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;
}
/**
 * UI component that allows the user to filter numeric or text attributes according to
 * a number of built-in operations defined in the numeric filter, text filter, or ranking filter.
 *
 * The arrangement prop determines whether the filter is rendered vertically or horizontally, with the latter intended for toolbar use and omitting title, enable/disable, and collapse/expand functionality.
 *
 * @example
 * ```tsx
 * const initialRevenueFilter = filterFactory.greaterThanOrEqual(DM.Commerce.Revenue, 10000);
 * const [revenueFilter, setRevenueFilter] = useState<Filter | null>(initialRevenueFilter);
 *
 * return (
 *   <CriteriaFilterTile
 *     title={'Revenue'}
 *     filter={revenueFilter}
 *     onUpdate={setRevenueFilter}
 *   />
 * );
 * ```
 *
 * <img src="media://criteria-filter-tile-example-1.png" width="300px" />
 * @param props - Criteria filter tile props
 * @returns Criteria filter tile component
 * @group Filter Tiles
 */
export declare const CriteriaFilterTile: import("react").FunctionComponent<CriteriaFilterTileProps>;
