import { type TenantGroupDto, type AvailableGroupDto } from '@/services/api/adminApi';
export interface UseTenantGroupsReturn {
    groups: TenantGroupDto[] | null;
    setGroups: (groups: TenantGroupDto[] | null) => void;
    loadingGroups: boolean;
    setLoadingGroups: (loading: boolean) => void;
    addingGroup: boolean;
    setAddingGroup: (adding: boolean) => void;
    availableGroupsForTenant: AvailableGroupDto[];
    setAvailableGroupsForTenant: (groups: AvailableGroupDto[]) => void;
    loadingAvailableGroups: boolean;
    setLoadingAvailableGroups: (loading: boolean) => void;
    selectedGroupIds: string[];
    setSelectedGroupIds: (groupIds: string[]) => void;
    assigningGroups: boolean;
    setAssigningGroups: (assigning: boolean) => void;
    groupSearchTerm: string;
    setGroupSearchTerm: (term: string) => void;
    removingGroupId: string | null;
    setRemovingGroupId: (groupId: string | null) => void;
    loadGroups: () => Promise<void>;
    loadAvailableGroups: () => Promise<void>;
    handleAssignGroups: () => Promise<void>;
    handleRemoveGroup: (groupId: string) => Promise<void>;
}
export declare function useTenantGroups(tenantId: string | undefined): UseTenantGroupsReturn;
//# sourceMappingURL=useTenantGroups.d.ts.map