import { ChangeEvent } from 'react'; /** * Interface for the select card state */ export interface ISelectCardState { /** * When `true`, adds the item to the selected state holder. */ checked: boolean; /** * Gives an explicit id to each item in the set. */ id?: string | number; } /** * Interface for the select card onChange options */ export interface ISelectCardOnChangeOptions { /** * When `true`, doesn't fire the user's `onChange` */ internal?: boolean; } /** * Interface for the select card context */ export interface ISelectCardContext { /** * Callback function that is triggered when the selection state changes. * * @callback OnChangeCallback * @param {ChangeEvent} [e] - The native HTML input change event. * @param {ISelectCardState} [state] - The current state of the select card component after the change. * @returns {void} */ onChange?: (e?: ChangeEvent, state?: ISelectCardState, options?: ISelectCardOnChangeOptions) => void; /** * Sets how many cards the user can select, either 'single' (radio buttons) or 'multiple' (checkboxes) */ selectionMode: "single" | "multiple"; /** * Used internally to create a UUID for the HTML `name` property on radios. */ radioName: string; /** * Creates a set of ids that are selected. */ selection: Set; /** * When `true`, indicates that selection is controlled at the group level via the `value` prop. * @default false */ isGroupControlled?: boolean; /** * When `true`, the group was given a `defaultValue` and owns the initial selection state. * Individual `SelectCard` mount syncs should be skipped to avoid overriding it. * @default false */ hasGroupDefault?: boolean; /** * When `true`, displays a checkbox or radio indicator in a separate column on the left side of the card. * The indicator type (checkbox or radio) is automatically determined by the selection mode from SelectCard.Group context. * @default false */ showSelectIndicator?: boolean; } export declare const SelectCardContext: import('react').Context; /** * Custom hook for accessing the SelectCard context. * @returns The SelectCard context or null if not within a SelectCardProvider */ export declare const useSelectCardContext: () => ISelectCardContext | null;