import React from 'react'; import type { SelectOption } from './Select.types'; export interface CustomOptionProps { option: SelectOption; selected: boolean; render: (option: SelectOption, active: boolean, selected: boolean) => React.ReactNode; onSelect: (option: SelectOption) => void; } /** * A `renderOption` row. * * The custom node is only the option's *appearance* — the row still has to be * pressable, or the dropdown renders fine and selects nothing. It also paints * the same neutral hover/pressed tint the built-in rows get from * MenuItemButton, so a custom row feels alive under the pointer without every * caller reimplementing it. The tint is a translucent overlay *behind* the * custom node, so a `renderOption` that paints its own background (a selected * state, say) still wins. * * `active` is passed through for callers that want to go further than the * default tint — swapping an icon, showing a chevron, restyling the text. */ export declare function CustomOption({ option, selected, render, onSelect }: CustomOptionProps): React.JSX.Element; export default CustomOption;