import { FetchStateAndError } from '../../../commonStateTypes/common'; import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { AddressState } from '../../../entity/address/addressState'; import { TagState } from '../../../entity/tag/tagState'; import { Task, TaskState } from '../../../entity/task/taskState'; import { TaskGroupTemplate } from '../../../entity/taskGroupTemplate/taskGroupTemplateState'; import { UserState } from '../../../entity/user/userState'; import { UserGroupsState } from '../../../entity/userGroups/userGroupsState'; import { UserRoleState } from '../../../entity/userRole/userRoleState'; import { RootState } from '../../../rootStateTypes'; import { UserAndRole } from '../../companyView/types/userAndRole'; import { UserGroupListSelectorView } from '../../userGroupListView/userGroupListViewSelector'; import { UserListSelectorView } from '../../userListView/userListViewSelector'; import { TaskListFilters, TaskListLocalData, TaskListState, TaskListTab, TaskListUIState } from './taskList'; export interface TaskWithUserDetails extends Task { assigneeUsers: UserAndRole[]; firstAssigneeSortName: string; } export interface TaskGroupWithTasksList { groupName: string; id: string; isDefault: boolean; tasks: TaskWithUserDetails[]; } export interface TaskListSelectorView extends SelectorView { currentTab: TaskListTab; filters: TaskListFilters; localData: TaskListLocalData; tabCounts: Record; taskCreationFromTemplateStatus: FetchStateAndError; taskGroupCreationStatus: FetchStateAndError; taskGroupDeleteStatus: FetchStateAndError; taskGroupsWithTasksList: TaskGroupWithTasksList[]; taskGroupTemplates: TaskGroupTemplate[]; taskGroupUpdateStatus: FetchStateAndError; uiState: TaskListUIState; updateTasksFetchState: FetchStateAndError; userGroupList: UserGroupListSelectorView; userList: UserListSelectorView; } export declare const getTaskListGroupedByAssignees: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }: { addressState: AddressState; tagState: TagState; taskListState: TaskListState; taskState: TaskState; userGroupsState: UserGroupsState; userRoleState: UserRoleState; userState: UserState; }) => { groupName: string; id: string; isDefault: boolean; tasks: TaskWithUserDetails[]; }[]; export declare const getTaskListGroupedByPriority: ({ taskListState, taskState, userState, userRoleState, addressState, tagState, userGroupsState, }: { addressState: AddressState; tagState: TagState; taskListState: TaskListState; taskState: TaskState; userGroupsState: UserGroupsState; userRoleState: UserRoleState; userState: UserState; }) => { groupName: string; id: "urgent" | "high" | "normal" | "medium" | "low"; isDefault: boolean; tasks: TaskWithUserDetails[]; }[]; export declare const getAllTasks: (state: RootState, isTaskTemplatesEnabled: boolean) => TaskListSelectorView;