/// <reference types="react" />
import { DataSource, Filter } from '@sisense/sdk-data';
import { MenuItem } from '../../../../shared/types/menu-item.js';
/**
 * Props of the {@link CascadingLevelFilterTile} component
 *
 * @internal
 */
export type CascadingLevelFilterTileProps = {
    /** Filter to display */
    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;
    parentFilters: Filter[];
    /** Callback to handle filter change */
    onChange: (filter: Filter | null) => void;
    /** Filter edit callback */
    onEdit?: () => void;
    /** Whether the filter is the last in the list */
    isLast?: boolean;
    /** Menu items to be displayed in the cascading level filter header */
    menuItems: MenuItem[];
    /**
     * Render header title
     *
     * @internal
     */
    renderHeaderTitle?: (title: React.ReactNode) => React.ReactNode;
};
/**
 * Filter tile component that renders a level filter based on its type
 *
 * @internal
 */
export declare const CascadingLevelFilterTile: ({ filter, dataSource, parentFilters, onChange, isLast, onEdit, menuItems, renderHeaderTitle, }: CascadingLevelFilterTileProps) => import("react/jsx-runtime").JSX.Element;
