/// <reference types="react" />
import { DataSource, Filter } from '@sisense/sdk-data';
import { FilterVariant } from '../common/filter-utils.js';
import type { FilterTileConfig } from '../filter-tile/types.js';
/**
 * Props for {@link CascadingFilterTile}
 *
 * @alpha
 */
export interface CascadingFilterTileProps {
    /** Cascading filter object to initialize filter type and default values */
    filter: Filter;
    /**
     * 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;
    /** Arrangement of the filter inputs. Use vertical for standard filter tiles and horizontal for toolbars */
    arrangement?: FilterVariant;
    /** Callback returning filter object, or null for failure */
    onChange: (filter: Filter) => void;
    /** Filter delete callback */
    onDelete?: () => void;
    /** Filter edit callback */
    onEdit?: (levelIndex: number) => void;
    /**
     * Config for the filter tile
     *
     * @internal
     */
    config?: FilterTileConfig;
    /**
     * Render header title (first cascading level filter only)
     *
     * @internal
     */
    renderHeaderTitle?: (title: React.ReactNode) => React.ReactNode;
}
/**
 * UI component representing group of cascading (dependent) filters.
 *
 * @param props - Cascading filter tile props
 * @returns Cascading filter tile component
 * @group Filter Tiles
 * @alpha
 */
export declare const CascadingFilterTile: import("react").FunctionComponent<CascadingFilterTileProps>;
