import { TaskListItemData } from '../task.types';
import { ITask } from '@webex/cc-store';
/**
 * Extracts and processes data from a task for rendering in the task list
 * @param task - The task object
 * @param isBrowser - Whether the device type is browser
 * @returns Processed task data with computed values
 */
export declare const extractTaskListItemData: (task: ITask, isBrowser: boolean, logger?: any) => TaskListItemData;
/**
 * Determines if a task should be selectable
 * @param task - The task object
 * @param currentTask - The currently selected task
 * @param taskData - Processed task data
 * @returns Whether the task should be selectable
 */
export declare const isTaskSelectable: (task: ITask, currentTask: ITask | null, taskData: TaskListItemData, logger?: any) => boolean;
/**
 * Determines if the current task is selected
 * @param task - The task object
 * @param currentTask - The currently selected task
 * @returns Whether this task is currently selected
 */
export declare const isCurrentTaskSelected: (task: ITask, currentTask: ITask | null, logger?: any) => boolean;
/**
 * Validates if a task list is empty or invalid
 * @param taskList - The task list object
 * @returns Whether the task list is empty or invalid
 */
export declare const isTaskListEmpty: (taskList: Record<string, ITask> | null | undefined, logger?: any) => boolean;
/**
 * Gets tasks as an array from the task list object
 * @param taskList - The task list object
 * @returns Array of tasks
 */
export declare const getTasksArray: (taskList: Record<string, ITask> | null | undefined, logger?: any) => ITask[];
/**
 * Creates task select handler with logging
 * @param task - The task to select
 * @param currentTask - The currently selected task
 * @param onTaskSelect - The task select function
 * @param logger - The logger instance
 * @returns Task select handler function
 */
export declare const createTaskSelectHandler: (task: ITask, currentTask: ITask | null, onTaskSelect: (task: ITask) => void, logger?: any) => () => void;
