import React from "react";
export interface GanttTask {
    id: string;
    name: string;
    startDate: Date;
    endDate: Date;
    progress: number;
    dependencies?: string[];
    assignee?: {
        id: string;
        name: string;
        avatar?: string;
    };
    status?: "not-started" | "in-progress" | "completed" | "blocked" | "cancelled";
    priority?: "low" | "medium" | "high" | "critical";
    color?: string;
    description?: string;
    milestone?: boolean;
    parent?: string;
    children?: string[];
    customData?: Record<string, any>;
}
export interface GanttTimeScale {
    unit: "day" | "week" | "month" | "quarter" | "year";
    step: number;
}
export interface GanttViewOptions {
    showWeekends?: boolean;
    showToday?: boolean;
    showProgress?: boolean;
    showDependencies?: boolean;
    showMilestones?: boolean;
    showCriticalPath?: boolean;
    showBaseline?: boolean;
    showResources?: boolean;
}
export interface GlassGanttChartProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Tasks data */
    tasks?: GanttTask[];
    /** Chart start date */
    startDate?: Date;
    /** Chart end date */
    endDate?: Date;
    /** Time scale configuration */
    timeScale?: GanttTimeScale;
    /** View options */
    viewOptions?: GanttViewOptions;
    /** Chart height */
    height?: number;
    /** Row height */
    rowHeight?: number;
    /** Column width for time units */
    columnWidth?: number;
    /** Whether tasks can be edited */
    editable?: boolean;
    /** Whether to show task hierarchy */
    showHierarchy?: boolean;
    /** Task click handler */
    onTaskClick?: (task: GanttTask) => void;
    /** Task update handler */
    onTaskUpdate?: (task: GanttTask) => void;
    /** Task resize handler */
    onTaskResize?: (taskId: string, startDate: Date, endDate: Date) => void;
    /** Task move handler */
    onTaskMove?: (taskId: string, startDate: Date, endDate: Date) => void;
    /** Progress update handler */
    onProgressUpdate?: (taskId: string, progress: number) => void;
    /** Dependency create handler */
    onDependencyCreate?: (fromTask: string, toTask: string) => void;
    /** Dependency delete handler */
    onDependencyDelete?: (fromTask: string, toTask: string) => void;
    /** Custom task renderer */
    renderTask?: (task: GanttTask, bounds: {
        x: number;
        width: number;
        y: number;
        height: number;
    }) => React.ReactNode;
    /** Custom timeline header renderer */
    renderTimelineHeader?: (date: Date, unit: string) => React.ReactNode;
    /** Respect motion preferences */
    respectMotionPreference?: boolean;
}
export declare const GlassGanttChart: React.ForwardRefExoticComponent<GlassGanttChartProps & React.RefAttributes<HTMLDivElement>>;
export default GlassGanttChart;
//# sourceMappingURL=GlassGanttChart.d.ts.map