import { EnrichedTask, Task } from '../../models';
import { Options } from '../../models/options';
import { ViewMode } from '../../models/view-mode';
import { Arrow } from './arrow';
import { Bar } from './bar';
import { Popup } from './popup';
export declare class Gantt {
    options: Options;
    tasks?: EnrichedTask[];
    dependency_map: any;
    dates?: Date[];
    layers: any;
    bars?: Bar[];
    arrows?: Arrow[];
    bar_being_dragged: any;
    $svg: any;
    $container?: HTMLDivElement;
    popup_wrapper?: HTMLDivElement;
    popup: Popup | null;
    private _minDate?;
    private _maxDate?;
    constructor(wrapper: any, tasks: Task[], options?: Partial<Options>);
    get minDate(): Date | undefined;
    get maxDate(): Date | undefined;
    setup_tasks(tasks: any): void;
    refresh(tasks: Task[]): void;
    change_view_mode(mode?: ViewMode): void;
    make_grid_highlights(): void;
    unselect_all(): void;
    view_is(modes: ViewMode | ViewMode[]): boolean;
    get_bar(id: any): Bar | undefined;
    show_popup(options: any): void;
    hide_popup(): void;
    trigger_event(event: keyof Options, args: any): void;
    private _setupWrapper;
    private _setupOptions;
    private _setupDependencies;
    private _updateViewScale;
    private _setupDates;
    private _setupGanttDates;
    private _setupDateValues;
    private _bindEvents;
    private _render;
    private _setupLayers;
    private _makeGrid;
    private _makeGridBackground;
    private _makeGridRows;
    private _makeGridHeader;
    private _makeGridTicks;
    private _makeDates;
    private _getDatesToDraw;
    private _getDateInfo;
    private _makeBars;
    private _makeArrows;
    private _mapArrowsOnBars;
    private _setWidth;
    private _setScrollPosition;
    private _bindGridClick;
    private _bindBarEvents;
    private _getAllDependentTasks;
    private _getSnapPosition;
    private _getTask;
    private _getOldestStartingDate;
    private _clear;
}
