import { StyleValue } from 'vue';
import { Task } from '../../models/classes/Task';
import { Resource } from '../../models/classes/Resource';
import { TaskListConfig } from '../../models/configs/TaskListConfig';
interface Props {
    tasks?: Task[];
    useDefaultDrawer?: boolean;
    taskListConfig?: TaskListConfig;
    taskListColumnRenderMode?: 'default' | 'declarative';
    enableTaskRowMove?: boolean;
    taskListRowClassName?: string | ((row: Task, rowIndex: number) => string);
    taskListRowStyle?: StyleValue | ((row: Task, rowIndex: number) => StyleValue);
    enableParentTaskAutoSchedule?: boolean;
}
declare var __VLS_27: {
    isRowContent: boolean;
    task: Task;
    level: number;
    indent: string;
    isHovered: boolean;
    hoveredTaskId: number | string | null;
    isParent: boolean;
    hasChildren: boolean;
    collapsed: boolean;
    formattedTimer: string;
    timerRunning: boolean;
    timerElapsed: number;
    isOvertime: number | boolean | undefined;
    overdueDays: number;
    overtimeText: string;
    overdueText: string;
    daysText: string;
    progressClass: string;
    type?: string;
}, __VLS_29: any;
type __VLS_Slots = {} & {
    'custom-task-content'?: (props: typeof __VLS_27) => any;
} & {
    'task-list-context-menu'?: (props: typeof __VLS_29) => any;
};
declare const __VLS_component: import('vue').DefineComponent<Props, {
    getHeaderScrollWidth: () => number | null;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    delete: (task: Task, deleteChildren?: boolean | undefined) => any;
    "start-timer": (task: Task) => any;
    "stop-timer": (task: Task) => any;
    "add-predecessor": (task: Task) => any;
    "add-successor": (task: Task) => any;
    "task-collapse-change": (task: Task) => any;
    "task-row-moved": (payload: {
        draggedTask: Task;
        targetTask: Task;
        position: "after" | "child";
        oldParent: Task | null;
        newParent: Task | null;
    }) => any;
    "resource-click": (resource: Resource) => any;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    onDelete?: ((task: Task, deleteChildren?: boolean | undefined) => any) | undefined;
    "onStart-timer"?: ((task: Task) => any) | undefined;
    "onStop-timer"?: ((task: Task) => any) | undefined;
    "onAdd-predecessor"?: ((task: Task) => any) | undefined;
    "onAdd-successor"?: ((task: Task) => any) | undefined;
    "onTask-collapse-change"?: ((task: Task) => any) | undefined;
    "onTask-row-moved"?: ((payload: {
        draggedTask: Task;
        targetTask: Task;
        position: "after" | "child";
        oldParent: Task | null;
        newParent: Task | null;
    }) => any) | undefined;
    "onResource-click"?: ((resource: Resource) => any) | undefined;
}>, {
    taskListColumnRenderMode: "default" | "declarative";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
