import { type Ref } from 'vue';
import type { TableItem } from '@/types/componentTypes/DataTableTypes';
import type { DataTableV2Props } from '../types';
export declare function useDataTableSelectionBridge(props: DataTableV2Props, items: Ref<TableItem[]>, emit: (e: 'update:selectedItems' | 'selection-change', items: TableItem[]) => void): {
    selection: {
        selectedItems: Ref<TableItem[], TableItem[]>;
        groupedItems: Ref<import("@/composables/useTableSelection").GroupedItems<TableItem>[], import("@/composables/useTableSelection").GroupedItems<TableItem>[]>;
        expandedGroups: Ref<Set<string | number> & Omit<Set<string | number>, keyof Set<any>>, Set<string | number> | (Set<string | number> & Omit<Set<string | number>, keyof Set<any>>)>;
        allSelected: import("vue").ComputedRef<boolean>;
        someSelected: import("vue").ComputedRef<boolean>;
        toggleSelection: (item: TableItem) => void;
        toggleSelectAll: () => void;
        isSelected: (item: TableItem) => boolean;
        clearSelection: () => void;
        toggleGroup: (groupKey: string | number) => void;
        expandAllGroups: () => void;
        collapseAllGroups: () => void;
        getGroupValue: (item: TableItem) => string | number;
        getUniqueValue: (item: TableItem) => string | number;
    };
    selectedItems: Ref<TableItem[], TableItem[]>;
    selectAll: import("vue").WritableComputedRef<boolean, boolean>;
    groupedItems: Ref<import("@/composables/useTableSelection").GroupedItems<TableItem>[], import("@/composables/useTableSelection").GroupedItems<TableItem>[]>;
    expandedGroups: Ref<Set<string | number> & Omit<Set<string | number>, keyof Set<any>>, Set<string | number> | (Set<string | number> & Omit<Set<string | number>, keyof Set<any>>)>;
    toggleSelection: (item: TableItem) => void;
    toggleSelectAll: () => void;
    clearSelection: () => void;
    selectSingleItem: (item: TableItem) => void;
    isSelected: (item: TableItem) => boolean;
    toggleGroup: (groupKey: string | number) => void;
    expandAllGroups: () => void;
    collapseAllGroups: () => void;
    getUniqueValue: (item: TableItem) => string | number;
    selectedCount: import("vue").ComputedRef<number>;
    hasSelection: import("vue").ComputedRef<boolean>;
    validSelectedItems: import("vue").ComputedRef<TableItem[]>;
    hasValidSelection: import("vue").ComputedRef<boolean>;
    radioGroupValue: import("vue").ComputedRef<string | number>;
    emitSelection: () => void;
};
//# sourceMappingURL=useDataTableSelectionBridge.d.ts.map