import { EventEmitter, TemplateRef } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { Interval } from '../intervals'; import { DrawData, Marker } from './time-series.helpers'; import * as i0 from "@angular/core"; type IntervalOption = { id: string; title: string; }; export declare class TimeSeriesComponent { private readonly input$; set input(v: TimeSeriesComponent.TimeSeriesInput); get input(): TimeSeriesComponent.TimeSeriesInput; private readonly width$; protected set width(v: number); protected get width(): number; readonly HEIGHT = 300; private readonly zeroStateMessage$; set zeroStateMessage(v: string); get zeroStateMessage(): string; readonly BOTTOM_OFFSET = 24; readonly LEFT_RIGHT_OFFSET = 48; readonly TOP_PADDING = 16; readonly LEFT_RIGHT_PADDING = 8; readonly BOTTOM_PADDING = 8; readonly Y_TICK_COUNT = 5; readonly POINT_RADIUS = 3.5; readonly dateRange$: Observable<[Date, Date]>; private readonly interval$; set interval(v: Interval); get interval(): Interval; intervalChanged: EventEmitter<"day" | "month" | "year" | "quarter" | "week">; readonly controls?: TemplateRef; private readonly allowLegendToggle$; set allowLegendToggle(v: boolean); get allowLegendToggle(): boolean; private readonly groupedTooltips$; set groupedTooltips(v: boolean); get groupedTooltips(): boolean; markerClicked: EventEmitter; private readonly maxPoints$; private readonly xMinorTickLimit$; private readonly allowedIntervals$; readonly intervalOptions$: Observable; readonly selectedIntervalOption$: Observable; readonly selectedInterval$: Observable<"day" | "month" | "year" | "quarter" | "week">; setIntervalOption(option: IntervalOption | null): void; readonly toggleVisibility$: BehaviorSubject; readonly binnedDataWithRanges$: Observable<{ series: TimeSeriesComponent.YConfig[]; getRange: (date: Date) => { minDate: Date; maxDate: Date; }; }>; readonly binnedData$: Observable; readonly getRange$: Observable<(date: Date) => { minDate: Date; maxDate: Date; }>; readonly binnedDateRange$: Observable<[Date, Date]>; getMarkerClicked(range: { minDate: Date; maxDate: Date; }, seriesIndex: number, y: 'y1' | 'y2'): { seriesIndex: number; y: "y1" | "y2"; minDate: Date; maxDate: Date; }; readonly drawData$: Observable; readonly legend$: Observable<{ label: string; colorToken: string; visibility: 'visible' | 'hidden'; }[]>; readonly empty$: Observable; readonly hoveredMarker$: BehaviorSubject<{ event: MouseEvent; marker: Marker; seriesIndex: number; y: 'y1' | 'y2'; } | null>; readonly callout$: Observable<{ anchor: DOMRect; metrics: { label: string; value: string; colorToken: string; }[]; } | null>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare namespace TimeSeriesComponent { type Series = { label: string; colorToken: string; data: TimeSeriesComponent.DataPoint[]; style?: 'solid' | 'dashed'; visibility?: 'visible' | 'hidden'; }; type DataPoint = { value: number; date: Date; }; type YConfig = { pointReducer: (points: DataPoint[], seriesIndex: number) => number; valueFormatter: (reducedValue: number) => string; series: Series[]; min?: number; max?: number; }; type TimeSeriesInput = [YConfig] | [YConfig, YConfig]; type ToggleVisibility = { label: string; visibility: 'hidden' | 'visible'; }; type MarkerClicked = { minDate: Date; maxDate: Date; seriesIndex: number; y: 'y1' | 'y2'; }; } export {};