import { ReactNode } from 'react';
/**
 * Item (filho) do grupo hierarquico.
 */
export interface HierarchicalCheckboxItem {
    id: string;
    label: ReactNode;
    disabled?: boolean;
}
/**
 * Grupo (pai) que agrupa varios itens.
 */
export interface HierarchicalCheckboxGroupItem {
    id: string;
    label: ReactNode;
    items: HierarchicalCheckboxItem[];
}
/**
 * Layout dos itens (filhos) dentro de cada grupo.
 */
export type HierarchicalCheckboxItemsLayout = 'column' | 'row';
export interface HierarchicalCheckboxGroupProps {
    /** Lista de grupos, cada um com seus itens filhos */
    groups: HierarchicalCheckboxGroupItem[];
    /** Ids dos itens (filhos) atualmente selecionados */
    selectedIds: string[];
    /** Callback disparado quando a selecao muda */
    onChange: (selectedIds: string[]) => void;
    /**
     * Layout dos filhos de cada grupo.
     * - `column` (default): um abaixo do outro
     * - `row`: inline, com quebra de linha
     */
    itemsLayout?: HierarchicalCheckboxItemsLayout;
    /** Renderiza Divider entre grupos (default: true) */
    showGroupDividers?: boolean;
    /** Classes extras aplicadas ao container raiz */
    className?: string;
    /** Classes extras aplicadas ao label do grupo (pai) */
    groupLabelClassName?: string;
}
/**
 * HierarchicalCheckboxGroup - lista de grupos pai/filho com estado
 * `indeterminate` automatico no pai baseado na selecao dos filhos.
 *
 * Comportamento do pai:
 * - Todos os filhos selecionados -> `checked`
 * - Alguns filhos selecionados -> `indeterminate`
 * - Nenhum filho selecionado -> `unchecked`
 * - Click no pai: marca/desmarca todos os filhos daquele grupo
 *
 * @example
 * ```tsx
 * <HierarchicalCheckboxGroup
 *   groups={[
 *     {
 *       id: 'ef',
 *       label: 'Ensino fundamental',
 *       items: [
 *         { id: 'ef-6', label: '6º ano' },
 *         { id: 'ef-7', label: '7º ano' },
 *       ],
 *     },
 *   ]}
 *   selectedIds={selected}
 *   onChange={setSelected}
 * />
 * ```
 */
declare const HierarchicalCheckboxGroup: {
    ({ groups, selectedIds, onChange, itemsLayout, showGroupDividers, className, groupLabelClassName, }: HierarchicalCheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export default HierarchicalCheckboxGroup;
//# sourceMappingURL=HierarchicalCheckboxGroup.d.ts.map