import { ReactNode } from 'react';
import { ISelectCardContext } from './SelectCardContext';
/**
 * Props for the SelectCardProvider component
 * @extends Omit<ISelectCardContext, "radioName" | "selection">
 */
interface ISelectCardProviderProps extends Omit<ISelectCardContext, "radioName" | "selection"> {
    children: ReactNode;
    /**
     * Controlled selection state. When provided, the group becomes controlled.
     * Array of `SelectCard` ids that are currently selected.
     */
    value?: Array<string | number>;
    /**
     * Initial selection state for uncontrolled usage.
     * Array of `SelectCard` ids that are selected on first render.
     */
    defaultValue?: Array<string | number>;
}
/**
 * SelectCardProvider component for managing selection state across SelectCard components.
 *
 * Features:
 * - Provides context for SelectCard components to share selection state
 * - Manages selection mode (single vs multiple)
 * - Handles selection state updates and callbacks
 * - Generates unique radio button names for single selection mode
 * - Maintains a set of selected card IDs
 * - Integrates with SelectCardGroup for automatic context provision
 *
 * @example
 * <SelectCardProvider
 *   selectionMode="multiple"
 *   onChange={(e, state) => console.log('Selection changed:', state)}
 * >
 *   <SelectCard id="1" onChange={() => {}}>Option 1</SelectCard>
 *   <SelectCard id="2" onChange={() => {}}>Option 2</SelectCard>
 * </SelectCardProvider>
 */
export declare const SelectCardProvider: ({ children, defaultValue, onChange, selectionMode, showSelectIndicator, value, }: ISelectCardProviderProps) => import("react/jsx-runtime").JSX.Element;
export {};
