import { BaseGridPlugin } from '../../core/plugin/base-plugin';
import { ColumnConfig } from '../../core/types';
import { ColumnGroup, GroupingColumnsConfig } from './types';
/**
 * Column Groups Plugin for tbw-grid
 *
 * @example
 * ```ts
 * new GroupingColumnsPlugin({
 *   enabled: true,
 *   showGroupBorders: true,
 * })
 * ```
 */
export declare class GroupingColumnsPlugin extends BaseGridPlugin<GroupingColumnsConfig> {
    #private;
    readonly name = "groupingColumns";
    readonly styles: string;
    protected get defaultConfig(): Partial<GroupingColumnsConfig>;
    private groups;
    private isActive;
    detach(): void;
    /**
     * Auto-detect column groups from column configuration.
     * Detects both inline `column.group` properties and declarative `columnGroups` config.
     */
    static detect(rows: readonly any[], config: any): boolean;
    processColumns(columns: readonly ColumnConfig[]): ColumnConfig[];
    afterRender(): void;
    /**
     * Check if column groups are active.
     * @returns Whether grouping is active
     */
    isGroupingActive(): boolean;
    /**
     * Get the computed column groups.
     * @returns Array of column groups
     */
    getGroups(): ColumnGroup[];
    /**
     * Get columns in a specific group.
     * @param groupId - The group ID to find
     * @returns Array of columns in the group
     */
    getGroupColumns(groupId: string): ColumnConfig[];
    /**
     * Refresh column groups (recompute from current columns).
     */
    refresh(): void;
}
//# sourceMappingURL=GroupingColumnsPlugin.d.ts.map