import React from "react";
import { VirtualItem } from "@tanstack/react-virtual";
import { EventOption } from "../../types/public-types";
import { BarTask } from "../../types/bar-task";
import { Task } from "../../types/public-types";
export declare type TaskListProps = {
    headerHeight: number;
    rowWidth: string;
    fontFamily: string;
    fontSize: string;
    rowHeight: number;
    ganttHeight: number;
    scrollY: number;
    locale: string;
    tasks: Task[];
    scheduleType: string;
    leafTasks: Task[];
    taskListRef: React.RefObject<HTMLDivElement>;
    horizontalContainerClass?: string;
    selectedTask: BarTask | undefined;
    setSelectedTask: (task: string) => void;
    onExpanderClick: (task: Task) => void;
    taskLabelRenderer?: (Task: Task) => React.ReactNode;
    TaskListHeader: React.FC<{
        headerHeight: number;
        rowWidth: string;
        fontFamily: string;
        fontSize: string;
        scheduleType: string;
        allSelected?: boolean;
        onSelectAll?: (selected: boolean) => void;
    }>;
    TaskListTable: React.FC<{
        rowHeight: number;
        rowWidth: string;
        fontFamily: string;
        fontSize: string;
        locale: string;
        tasks: Task[];
        scheduleType: string;
        leafTasks: Task[];
        selectedTaskId: string;
        setSelectedTask: (taskId: string) => void;
        onExpanderClick: (task: Task) => void;
        selectedTasks?: string[];
        onTaskSelect?: (taskId: string, selected: boolean) => void;
        taskLabelRenderer?: (Task: Task) => React.ReactNode;
        virtualItems?: VirtualItem[];
    }>;
    containerWidth?: number;
    innerScrollRef?: React.RefObject<HTMLDivElement>;
    horizontalContainerRef?: React.RefObject<HTMLDivElement>;
} & EventOption;
export declare const TaskList: React.FC<TaskListProps>;
