/// <reference types="react" />
import { Filter } from '@sisense/sdk-data';
import type { FilterTileConfig } from '../../../domains/filters/components/filter-tile/types';
import { FilterTileDesignOptions } from './filter-tile-container';
/**
 * Props for {@link CustomFilterTile}
 *
 * @alpha
 */
export interface CustomFilterTileProps {
    /** Custom filter. */
    filter: Filter;
    /**
     * Callback to handle changes in custom filter.
     *
     * @param filter - Custom filter
     */
    onUpdate: (filter: Filter | null) => void;
    /** Filter delete callback */
    onDelete?: () => void;
    /** Filter edit callback */
    onEdit?: () => void;
    /** Design options for the tile @internal */
    tileDesignOptions?: FilterTileDesignOptions;
    /**
     * Config for the filter tile
     *
     * @internal
     */
    config?: FilterTileConfig;
    /**
     * Render header title
     *
     * @internal
     */
    renderHeaderTitle?: (title: React.ReactNode) => React.ReactNode;
}
/**
 * UI component for a custom filter defined with JAQL.
 *
 * @example
 * ```tsx
 * const filterJaql = { from: 10, to: 20000 };
 *
 * const [customFilter, setCustomFilter] = useState<Filter>(
 *   filterFactory.customFilter(DM.Commerce.Cost, filterJaql),
 * );
 *
 * return (
 *   <CustomFilterTile
 *     filter={customFilter}
 *     onChange={(filter: Filter) => {
 *       setCustomFilter(filter);
 *     }}
 *   />
 * );
 * ```
 * @param props - Custom filter tile props
 * @returns Custom filter tile component
 * @group Filter Tiles
 * @alpha
 */
export declare const CustomFilterTile: import("react").FunctionComponent<CustomFilterTileProps>;
