import UIPlugin from './ui-plugin'; import { HitRegion, Waterfall, WaterfallItems } from '../types'; import { OffscreenRenderEngine } from '../engines/offscreen-render-engine'; import { SeparatedInteractionsEngine } from '../engines/separated-interactions-engine'; import { PreparedWaterfallItem } from './utils/waterfall-parser'; export type WaterfallPluginStyles = { defaultHeight: number | 'flexible'; lineWidth: number; lineHeight: number | 'inherit'; }; export type WaterfallPluginSettings = { styles?: Partial; }; export declare const defaultWaterfallPluginStyles: WaterfallPluginStyles; export declare class WaterfallPlugin extends UIPlugin { styles: WaterfallPluginStyles; height: number | "flexible"; data: PreparedWaterfallItem[]; positionY: number; hoveredRegion: HitRegion | null; selectedRegion: HitRegion | null; initialData: WaterfallItems; constructor({ data, name, settings, }: { name?: string; data: Waterfall; settings: WaterfallPluginSettings; }); init(renderEngine: OffscreenRenderEngine, interactionsEngine: SeparatedInteractionsEngine): void; handlePositionChange({ deltaX, deltaY }: { deltaX: number; deltaY: number; }): void; handleMouseUp(): void; handleHover(region: HitRegion | null): void; handleSelect(region: HitRegion | null): void; setPositionY(y: number): void; setSettings({ styles }: WaterfallPluginSettings): void; setData(waterfall: Waterfall): void; calcRect(start: number, duration: number, isEnd: boolean): { x: number; w: number; }; renderTooltip(): boolean; render(): void; }