import type { UUID } from 'crypto'; import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js'; import type { DashboardTaskListSortSettings } from '../../../embedded-types/dashboard/task/SortSettings.js'; import { DashboardTaskSortDirection } from '../../../embedded-types/dashboard/task/SortSettings.js'; import type { DashboardTagSettings } from '../../../embedded-types/dashboard/userConfig/Tags.js'; /** * A service for sorting tasks. */ export default class DashboardTaskSortService { #private; /** * Sorts the provided task IDs based on the provided sort settings. * * @param taskMap The map of tasks. * @param taskIds The IDs of the tasks to sort. * @param sortSettings The settings to sort by. * @param tagSettings The tag settings. * @returns The sorted task IDs. */ static sort(taskMap: DashboardTaskMap, taskIds: UUID[], sortSettings: DashboardTaskListSortSettings, tagSettings: DashboardTagSettings): UUID[]; /** * Gets a map of task IDs to tag header names. Used only for when sorting by * tags. If the first task in the list has no high-priority tags, then * noPriorityTagsIndicator will be used as the header name. * * @param taskMap The map of tasks. * @param taskIds The IDs of the tasks. * @param userId The user ID. * @param tagSettings The tag settings. * @param noPriorityTagsIndicator The indicator for no priority tags. * @param sortDirection The sort direction. * @returns A map of task IDs to tag header names. */ static getTagHeaderMap(taskMap: DashboardTaskMap, taskIds: UUID[], userId: UUID, tagSettings: DashboardTagSettings, noPriorityTagsIndicator: string, sortDirection: DashboardTaskSortDirection): Record; } //# sourceMappingURL=TaskSort.service.d.ts.map