import { Profile } from 'pprof-format'; import { FlameNode, FrameData } from './FlameDataProcessor.js'; /** * Main renderer class that orchestrates all rendering components * This is a compatibility layer that maintains the existing API while using refactored classes */ export declare class FlameGraphRenderer { #private; constructor(canvas: HTMLCanvasElement); /** * Check if WebGL is initialized and ready */ isInitialized(): boolean; /** * Set the profile data and return the required height */ setData(profile: Profile, showAppCodeOnly?: boolean): number; /** * Resize the renderer */ resize(width: number, height: number): void; /** * Set color scheme */ setColors(primaryColor: string, secondaryColor: string, backgroundColor: string, textColor: string): void; /** * Set opacity values */ setOpacity(selectedOpacity: number, hoverOpacity: number, unselectedOpacity: number): void; /** * Set frame padding */ setFramePadding(padding: number): void; /** * Get the calculated graph height */ getCalculatedHeight(): number; /** * Set font family */ setFontFamily(fontFamily: string): void; /** * Set shadow opacity */ setShadowOpacity(opacity: number): void; /** * Set frame states */ setFrameStates(selectedFrameId: string | null, hoveredFrameId: string | null): void; /** * Set height mode for zoom behavior */ setHeightMode(isFixedHeight: boolean): void; /** * Check if content is scrollable */ isScrollable(): boolean; /** * Check if the camera can be panned */ canPan(): boolean; /** * Configure scroll zoom behavior */ setScrollZoom(enabled: boolean, speed?: number, inverted?: boolean, onZoomChange?: () => void): void; /** * Set animation completion callback */ setAnimationCompleteCallback(callback?: () => void): void; /** * Handle click event */ handleClick(x: number, y: number): { frame: FrameData; stackTrace: FlameNode[]; children: FlameNode[]; } | null; /** * Handle mouse down event */ handleMouseDown(x: number, y: number): void; /** * Handle mouse move event */ handleMouseMove(x: number, y: number): void; /** * Handle mouse up event */ handleMouseUp(): void; /** * Handle scroll event for vertical scrolling */ handleScroll(deltaY: number): void; /** * Handle scroll wheel event for zooming */ handleWheel(x: number, y: number, deltaY: number, speed?: number, inverted?: boolean): void; /** * Main render function */ render(): void; /** * Destroy the renderer and clean up resources */ destroy(): void; get data(): FlameNode | null; get profileMetadata(): import("./ProfileMetadata.js").ProfileMetadata | null; get camera(): { x: number; y: number; scale: number; }; get frames(): Array<{ node: FlameNode; x1: number; x2: number; y1: number; y2: number; }>; get logicalWidth(): number; get logicalHeight(): number; hasDraggedDuringInteraction(): boolean; } //# sourceMappingURL=FlameGraphRenderer.d.ts.map