import { default as React } from 'react';
import { DataRow, DataTable } from '../../../types/data-structures';
import { WBSNormalizedItem } from '../../../utils/wbs-utils';
export type SmeupDataTable = DataTable;
export declare const GanttViewMode: {
    readonly Hour: "hour";
    readonly Day: "day";
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
};
export type GanttViewMode = (typeof GanttViewMode)[keyof typeof GanttViewMode];
export interface GanttRow {
    index: number;
    task: WBSNormalizedItem;
    parsedStartDate: Date;
    parsedEndDate: Date;
    y: number;
    height: number;
}
export interface GanttConfig {
    viewMode?: GanttViewMode;
    rowHeight?: number;
    pixelPerUnit?: number;
    editable?: boolean;
}
export interface GanttProps {
    data: WBSNormalizedItem[];
    config: GanttConfig;
    onClick?: (item: DataRow) => void;
    onDblClick?: (item: DataRow) => void;
    onContextMenu?: (item: WBSNormalizedItem, htmlElement: HTMLElement | null, e: React.MouseEvent) => void;
    hoveredRowId?: string | null;
    onRowHover?: (id: string | null) => void;
}
export declare const GANTT_CONSTANTS: {
    HEADER_HEIGHT: number;
    TOP_HEADER_HEIGHT: number;
    PIXEL_PER_UNIT: number;
    BAR_VERTICAL_PADDING: number;
    BAR_CORNER_RADIUS: number;
    MARKER_SIZE_RATIO: number;
    VIEW_MODE_DAY: "day";
    MIN_SVG_WIDTH: number;
    MIN_SVG_HEIGHT: number;
};
//# sourceMappingURL=gantt-types.d.ts.map