import React, { ForwardRefExoticComponent } from 'react'; import { BoxProps } from '../Box/Box'; export interface OptionTileProps extends BoxProps { /** * id attribute for radio/checkbox input. */ id: string; /** * Whether the option is selected. Passed down as `checked` attribute for the underlying input. */ isSelected: boolean; /** * label attribute for radio/checkbox input. */ label: string; /** * Name attribute for parent fieldset, to be passed to radio/checkbox input. */ name: string; /** * onChange callback attached to underlying input elements. */ onChange: (event: React.ChangeEvent | React.MouseEvent) => void; /** * value attribute for radio/checkbox input. */ value: string; /** * Whether the option is disabled. This is passed down to the underlying * input and disables onChange firing on user interactions. * NOTE: that a custom onClick will still fire despite this prop being set to `true`. */ disabled?: boolean; /** * Whether the input is in an error state. This is used to modify the visual * radio/checkbox with the appropriate error color. * NOTE: this may create mismatches when using custom styling on the OptionTile. */ error?: boolean; /** * The actual input on an OptionTile is already hidden and replaced * with a custom div for visual interaction. This prop will hide the custom visual element. * The input will continue to be accessibly hidden regardless of the value of this prop. */ hideInput?: boolean; /** * The required and aria-required attributes on each option */ isRequired?: boolean; /** * Whether to render a radio or a checkbox input. */ inputType?: 'radio' | 'checkbox'; } export declare const OptionTile: ForwardRefExoticComponent;