import { GanttDate, GanttDateUtil } from '../utils/date'; import { GanttDatePoint } from '../class/date-point'; import { BehaviorSubject } from 'rxjs'; import { GanttDateFormat } from '../gantt.config'; export declare const primaryDatePointTop = 18; export declare const secondaryDatePointTop = 36; export interface GanttViewDate { date: GanttDate; isCustom?: boolean; } export interface GanttViewOptions { start?: GanttDate; end?: GanttDate; min?: GanttDate; max?: GanttDate; cellWidth?: number; addAmount?: number; addUnit?: GanttDateUtil; dateFormat?: GanttDateFormat; } export declare abstract class GanttView { start$: BehaviorSubject; end$: BehaviorSubject; get start(): GanttDate; get end(): GanttDate; primaryDatePoints: GanttDatePoint[]; secondaryDatePoints: GanttDatePoint[]; width: number; cellWidth: number; primaryWidth: number; showTimeline: boolean; showWeekBackdrop: boolean; options: GanttViewOptions; constructor(start: GanttViewDate, end: GanttViewDate, options: GanttViewOptions); abstract startOf(date: GanttDate): GanttDate; abstract endOf(date: GanttDate): GanttDate; abstract getPrimaryWidth(): number; abstract getDayOccupancyWidth(date: GanttDate): number; abstract getPrimaryDatePoints(): GanttDatePoint[]; abstract getSecondaryDatePoints(): GanttDatePoint[]; protected getDateIntervalWidth(start: GanttDate, end: GanttDate): number; protected initialize(): void; addStartDate(): { start: GanttDate; end: GanttDate; }; addEndDate(): { start: GanttDate; end: GanttDate; }; updateDate(start: GanttDate, end: GanttDate): void; getWidth(): number; getCellWidth(): number; getTodayXPoint(): number; getXPointByDate(date: GanttDate): number; getDateByXPoint(x: number): GanttDate; getBarWidth(start: GanttDate, end: GanttDate): number; getDateRangeWidthDayNormalized(start: GanttDate, end: GanttDate): number; }