import { ReactElement } from 'react';
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { TooltipPlacementsType } from '../tooltip';
import { SelectableTilesSize } from './types';
import './selectable-tiles.less';
export type SelectableTileOptions = {
    id: string;
    /** label to be displayed on the tile */
    label?: string;
    /** FontAwesome icon */
    icon?: IconProp;
    /** determines whether the item should be disabled */
    isDisabled?: boolean;
    /** path to image file */
    imgSrc?: string;
    /** test-id to be applied for each item */
    itemTestId?: string;
    /** custom content to be used instead of StandardContent */
    customContent?: ReactElement;
    /** Tooltip to describe each item */
    tooltipText?: string;
    /** Tooltip placement for each item */
    tooltipPlacement?: TooltipPlacementsType;
    /** individual class name in addition to the `itemClassName` applied to all tiles */
    className?: string;
    /** individual aria-label applied to a tile */
    itemAriaLabel?: string;
};
export type SelectableTilesProps = {
    /** Configuration array containing items to be rendered as tiles */
    options: Array<SelectableTileOptions>;
    /** selected item's id */
    selectedKey?: string;
    /** callback that will be invoked upon click on the item */
    onItemSelect?: (key: string) => void;
    /** className to be applied on the tile's container/ Can be used for customization */
    containerClassName?: string;
    /** className to be applied on each tile. Can be used for customization */
    itemClassName?: string;
    /** property to use as an id for each option */
    optionId?: 'id';
    /** Allows to disable or enable the component */
    isDisabled?: boolean;
    /** Allows for aria label to be associated with the component */
    labelledBy?: string;
    /** size of the tiles */
    size?: SelectableTilesSize;
};
/** SelectableTiles let user choose on of the options represented in the form of tiles
 * [CAPITALIZATION] Sentence case (capitalize proper nouns i.e., Holdout).
 * @midnight-gray-supported
 * @alpine-light-supported
 */
declare function SelectableTiles({ options, selectedKey, onItemSelect, containerClassName, itemClassName, optionId, isDisabled, labelledBy, size, }: SelectableTilesProps): import("react/jsx-runtime").JSX.Element;
export default SelectableTiles;
