/// import VueChartwerkPodMixin from './VueChartwerkPodMixin'; import { PodState } from './state'; import { Margin, TimeSerie, Options, TickOrientation, TimeFormat, BrushOrientation, AxisFormat, CrosshairOrientation, SvgElementAttributes, KeyEvent, PanOrientation, yAxisOrientation, ScrollPanOrientation, AxisOption } from './types'; import { palette } from './colors'; import * as d3 from 'd3'; declare abstract class ChartwerkPod { protected readonly el: HTMLElement; protected d3Node?: d3.Selection; protected chartContainer?: d3.Selection; protected customOverlay?: d3.Selection; protected crosshair?: d3.Selection; protected brush?: d3.BrushBehavior; protected zoom?: any; protected svg?: d3.Selection; protected state?: PodState; protected clipPath?: any; protected isPanning: boolean; protected isBrushing: boolean; protected brushStartSelection: [number, number] | null; protected initScaleX?: d3.ScaleLinear; protected initScaleY?: d3.ScaleLinear; protected initScaleY1?: d3.ScaleLinear; protected xAxisElement?: d3.Selection; protected yAxisElement?: d3.Selection; protected y1AxisElement?: d3.Selection; protected yAxisTicksColors?: string[]; private _clipPathUID; protected series: T[]; protected options: O; protected readonly d3: typeof d3; protected deltaYTransform: number; protected debouncedRender: import("lodash").DebouncedFunc; private _xScale; private _yScale; private _y1Scale; constructor(_d3: typeof d3, el: HTMLElement, _series: T[], _options: O); protected addEventListeners(): void; protected removeEventListeners(): void; render(): void; updateData(series?: T[], options?: O, shouldRerender?: boolean): void; protected updateOptions(newOptions: O): void; protected updateSeries(newSeries: T[]): void; protected abstract renderMetrics(): void; protected abstract onMouseOver(): void; protected abstract onMouseOut(): void; protected abstract onMouseMove(): void; abstract renderSharedCrosshair(values: { x?: number; y?: number; }): void; abstract hideSharedCrosshair(): void; protected initPodState(): void; protected renderSvg(): void; protected renderGrid(): void; protected renderAxes(): void; protected renderXAxis(): void; protected renderYAxis(): void; protected renderY1Axis(): void; protected renderCrosshair(): void; protected addEvents(): void; protected initBrush(): void; protected filterByKeyEvent(key: KeyEvent): () => boolean; protected isD3EventKeyEqualOption(event: d3.D3ZoomEvent, optionsKeyEvent: KeyEvent): boolean; protected initPan(): void; protected renderClipPath(): void; protected renderLegend(): void; protected renderYLabel(): void; protected renderXLabel(): void; protected renderNoDataPointsMessage(): void; protected onPanning(): void; rescaleMetricAndAxis(event: d3.D3ZoomEvent): void; protected onPanningRescale(event: d3.D3ZoomEvent): void; protected onScrollPanningRescale(event: d3.D3ZoomEvent): void; protected onPanningEnd(): void; protected onBrush(): void; protected getSelectionAttrs(selection: number[][]): SvgElementAttributes | undefined; protected onBrushStart(): void; protected onBrushEnd(): void; protected zoomOut(): void; get absXScale(): d3.ScaleLinear; get absYScale(): d3.ScaleLinear; get xScale(): d3.ScaleLinear; get yScale(): d3.ScaleLinear; protected get y1Scale(): d3.ScaleLinear; filterSerieByYAxisOrientation(serie: T, orientation: yAxisOrientation): boolean; get minValue(): number; get maxValue(): number; get y1MinValue(): number; get y1MaxValue(): number; get minValueX(): number; get maxValueX(): number; getd3TimeRangeEvery(count: number): d3.TimeInterval; get serieTimestampRange(): number | undefined; getAxisTicksFormatter(axisOptions: AxisOption): (d: any, i: number) => any; get timeInterval(): number; get xTickTransform(): string; get extraMargin(): Margin; get width(): number; get height(): number; get legendRowPositionY(): number; get margin(): Margin; get isSeriesUnavailable(): boolean; formatedBound(alias: string, target: string): string; protected clearScaleCache(shouldClearState?: boolean): void; protected getSerieColor(idx: number): string; protected get seriesTargetsWithBounds(): any[]; protected get visibleSeries(): any[]; protected get rectClipId(): string; isOutOfChart(): boolean; } export { ChartwerkPod, VueChartwerkPodMixin, Margin, TimeSerie, Options, TickOrientation, TimeFormat, BrushOrientation, PanOrientation, AxisFormat, yAxisOrientation, CrosshairOrientation, ScrollPanOrientation, KeyEvent, palette };