/**
 * Copyright IBM Corp. 2026
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React, { ReactNode, FC } from 'react';
import { AddSelectBodyProps } from './AddSelectBody';
import { AddSelectContentProps } from './AddSelectContent';
import { AddSelectColumnProps } from './AddSelectColumn';
import { AddSelectRowProps } from './AddSelectRow';
import { AddSelectSelectionSummaryProps } from './AddSelectSelectionSummary';
import { AddSelectSelectionSummaryItemProps } from './AddSelectSelectionSummaryItem';
import { AddSelectItemPanelProps } from './AddSelectItemPanel';
/**
 * ----------
 * AddSelect
 * ----------
 */
export interface AddSelectProps {
    children?: ReactNode;
    /**
     * Optional class name
     */
    className?: string;
    /**
     * Callback when an item is selected/deselected
     */
    onItemSelect?: (itemId: string, selected: boolean, value: string) => void;
    /**
     * Set of selected item IDs
     */
    selectedItems?: Set<string>;
}
export type AddSelectComponentType = React.ForwardRefExoticComponent<AddSelectProps & React.RefAttributes<HTMLDivElement>> & {
    Body: FC<AddSelectBodyProps>;
    Content: FC<AddSelectContentProps>;
    Column: FC<AddSelectColumnProps>;
    Row: FC<AddSelectRowProps>;
    SelectionSummary: FC<AddSelectSelectionSummaryProps>;
    SelectionSummaryItem: FC<AddSelectSelectionSummaryItemProps>;
    ItemPanel: FC<AddSelectItemPanelProps>;
};
/**
 * AddSelect - Composable component for adding/selecting items
 * @example
 * ```jsx
 * <AddSelect onItemSelect={handleSelect}>
 *   <AddSelect.Body
 *     itemsLabel="Items"
 *     globalSearchLabel="Search"
 *     itemCount={items.length}
 *   >
 *     <AddSelect.Column multi={true} title="Categories">
 *       {items.map(item => (
 *         <AddSelect.Row
 *           key={item.id}
 *           itemId={item.id}
 *           title={item.title}
 *           value={item.value}
 *         />
 *       ))}
 *     </AddSelect.Column>
 *   </AddSelect.Body>
 * </AddSelect>
 * ```
 */
export declare const AddSelect: AddSelectComponentType;
//# sourceMappingURL=AddSelect.d.ts.map