import { Task } from '../models/classes/Task';
import { TimelineScale } from '../models/types/TimelineScale';
import { TaskBarConfig } from '../models/configs/TaskBarConfig';
type __VLS_Slots = {
    'custom-task-content'(props: TaskBarSlotProps): unknown;
};
interface Props {
    task: Task;
    rowHeight: number;
    dayWidth: number;
    startDate: Date;
    isParent?: boolean;
    onClick?: (task: Task, event: MouseEvent) => void;
    rowIndex?: number;
    scrollLeft?: number;
    containerWidth?: number;
    hideBubbles?: boolean;
    timelineData?: any;
    currentTimeScale?: TimelineScale;
    taskBarConfig?: TaskBarConfig;
    allowDragAndResize?: boolean;
    showActualTaskbar?: boolean;
    enableTaskBarTooltip?: boolean;
    pendingTaskBackgroundColor?: string;
    delayTaskBackgroundColor?: string;
    completeTaskBackgroundColor?: string;
    ongoingTaskBackgroundColor?: string;
    isHighlighted?: boolean;
    isPrimaryHighlight?: boolean;
    isInHighlightMode?: boolean;
    dragLinkMode?: 'predecessor' | 'successor' | null;
    isLinkDragSource?: boolean;
    isValidLinkTarget?: boolean;
    isInvalidLinkTarget?: boolean;
    allTasks?: Task[];
    hasResourceConflict?: boolean;
    conflictTasks?: Task[];
    resourceAllocationPercent?: number;
    currentResourceId?: string | number;
    taskSubRow?: number;
    rowHeights?: number[];
    resources?: Array<{
        id: string | number;
        name: string;
        color?: string;
        avatar?: string;
    }>;
    enableParentTaskAutoSchedule?: boolean;
}
export interface TaskStatus {
    type: string;
    color: string;
    bgColor: string;
    borderColor: string;
}
interface TaskBarSlotProps {
    type: string;
    task: Task;
    status: TaskStatus;
    statusType: string;
    isParent?: boolean;
    progress: number;
    currentTimeScale?: TimelineScale;
    rowHeight: number;
    dayWidth: number;
}
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    delete: (...args: any[]) => void;
    "start-timer": (...args: any[]) => void;
    "stop-timer": (...args: any[]) => void;
    "add-predecessor": (...args: any[]) => void;
    "add-successor": (...args: any[]) => void;
    "delete-link": (...args: any[]) => void;
    click: (...args: any[]) => void;
    dblclick: (...args: any[]) => void;
    "context-menu": (...args: any[]) => void;
    "drag-end": (...args: any[]) => void;
    "update:task": (...args: any[]) => void;
    "bar-mounted": (...args: any[]) => void;
    "resize-end": (...args: any[]) => void;
    "scroll-to-position": (...args: any[]) => void;
    "long-press": (...args: any[]) => void;
    "link-drag-start": (...args: any[]) => void;
    "link-drag-move": (...args: any[]) => void;
    "link-drag-end": (...args: any[]) => void;
    "tooltip-show": (...args: any[]) => void;
    "tooltip-hide": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    onDelete?: ((...args: any[]) => any) | undefined;
    "onStart-timer"?: ((...args: any[]) => any) | undefined;
    "onStop-timer"?: ((...args: any[]) => any) | undefined;
    "onAdd-predecessor"?: ((...args: any[]) => any) | undefined;
    "onAdd-successor"?: ((...args: any[]) => any) | undefined;
    "onDelete-link"?: ((...args: any[]) => any) | undefined;
    onClick?: ((...args: any[]) => any) | undefined;
    onDblclick?: ((...args: any[]) => any) | undefined;
    "onContext-menu"?: ((...args: any[]) => any) | undefined;
    "onDrag-end"?: ((...args: any[]) => any) | undefined;
    "onUpdate:task"?: ((...args: any[]) => any) | undefined;
    "onBar-mounted"?: ((...args: any[]) => any) | undefined;
    "onResize-end"?: ((...args: any[]) => any) | undefined;
    "onScroll-to-position"?: ((...args: any[]) => any) | undefined;
    "onLong-press"?: ((...args: any[]) => any) | undefined;
    "onLink-drag-start"?: ((...args: any[]) => any) | undefined;
    "onLink-drag-move"?: ((...args: any[]) => any) | undefined;
    "onLink-drag-end"?: ((...args: any[]) => any) | undefined;
    "onTooltip-show"?: ((...args: any[]) => any) | undefined;
    "onTooltip-hide"?: ((...args: any[]) => any) | undefined;
}>, {}, {}, {}, {}, 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;
    };
};
