import { Pane, Layout, Drawable, PointerEvent, Painter } from '../core';
import { TimelineModel } from './timeline_model';
import { TimelineUi, TimeIntervalModel } from './timeline_ui';
import { TimelineRowPaneFactoryChooser } from './timeline_row';
import { ScrollbarOptions } from '../scroll';
import { Color } from '../color';
import { TimeAxisFormatOptions } from './time_axis_painter';
import { Insets } from '../layout/inset_layout';
import { TimeAxis1D } from './time_axis';
export declare class TimelinePane extends Pane {
    private _model;
    private _ui;
    constructor(layout: Layout, model: TimelineModel, ui: TimelineUi);
    get model(): TimelineModel;
    get ui(): TimelineUi;
}
export interface TimelinePaneOptions {
    font?: string;
    rowPaneFactoryChooser?: TimelineRowPaneFactoryChooser;
    cursor?: string;
    showScrollbar?: boolean;
    scrollbarOptions?: ScrollbarOptions;
    fgColor?: Color;
    rowLabelColor?: Color;
    rowLabelBgColor?: Color;
    rowHighlightColor?: Color;
    groupLabelColor?: Color;
    groupHighlightColor?: Color;
    axisLabelColor?: Color;
    bgColor?: Color;
    rowBgColor?: Color;
    rowAltBgColor?: Color;
    gridColor?: Color;
    selectedIntervalFillColor?: Color;
    selectedIntervalBorderColor?: Color;
    showTopAxis?: boolean;
    showBottomAxis?: boolean;
    topTimeZone?: string;
    bottomTimeZone?: string;
    tickSpacing?: number;
    axisLabelAlign?: number;
    isFuturePositive?: boolean;
    timeAxisFormat?: TimeAxisFormatOptions;
    referenceDate?: string;
    groupLabelInsets?: Insets;
    groupHighlightWidth?: number;
    groupHighlightInsets?: Insets;
    rowLabelInsets?: Insets;
    rowLabelPaneWidth?: number;
    rowSeparatorHeight?: number;
    rowHighlightWidth?: number;
    rowHighlightInsets?: Insets;
    scrollbarWidth?: number;
    axisPaneHeight?: number;
    draggableEdgeWidth?: number;
    snapToDistance?: number;
    allowEventMultiSelection?: boolean;
    selectedIntervalMode?: string;
    centerSelectedIntervalOnDoubleClick?: boolean;
    mouseWheelListener?: (PointerEvent: PointerEvent) => void;
}
export declare function newTimelinePane(drawable: Drawable, timeAxis: TimeAxis1D, model: TimelineModel, options?: TimelinePaneOptions, ui?: TimelineUi): TimelinePane;
export declare function newTimelineSingleSelectionPainter(timeAxis: TimeAxis1D, interval: TimeIntervalModel, borderColor: Color, fillColor: Color): Painter;
