import { ArrayElementBindProps } from '../../../basic-components/cell/cell-types';
import { GroupDefinition } from './grouping-types';
/**
 * Toggles the expansion state of a group in a Set of expanded group IDs.
 *
 * If the groupId is already in the set, it will be removed (collapsed).
 * If the groupId is not in the set, it will be added (expanded).
 *
 * This function returns a new Set instance with the updated state,
 * suitable for use in React state updates to maintain immutability.
 *
 * @param {Set<string>} expandedGroups - The current set of expanded group IDs.
 * @param {string} groupId - The unique identifier of the group to toggle.
 * @returns {Set<string>} A new set of expanded group IDs reflecting the toggle.
 */
export declare function toggleGroup(expandedGroups: Set<string>, groupId: string): Set<string>;
/**
 * Converts ArrayElementBindProps[] to smeupGroup[] while preserving visibility if possible.
 * @param newElements - New chips data.
 * @param previousGroups - Current smeupGroup[] to preserve visibility values.
 * @returns Updated smeupGroup[]
 */
export declare function mapChipsToGroups(newElements: ArrayElementBindProps[], previousGroups: GroupDefinition[]): GroupDefinition[];
/**
 * Parses a DftGroup SmeUP setup prop to build a structured data to hold that information.
 * @param DftGroup
 * @returns
 */
export declare function buildGroupDefinition(DftGroup: string | undefined): GroupDefinition[];
/**
 * Builds a SmeUP DftGroup from a group definition.
 * @param groups
 * @returns
 */
export declare function buildDftGroup(groups: GroupDefinition[]): string;
//# sourceMappingURL=datatable-groups-utils.d.ts.map