import { Frame, CallTreeNode } from './profile'; import { Rect } from './math'; export interface FlamechartFrame { node: CallTreeNode; start: number; end: number; parent: FlamechartFrame | null; children: FlamechartFrame[]; } declare type StackLayer = FlamechartFrame[]; interface FlamechartDataSource { getTotalWeight(): number; formatValue(v: number): string; forEachCall(openFrame: (node: CallTreeNode, value: number) => void, closeFrame: (node: CallTreeNode, value: number) => void): void; getColorBucketForFrame(f: Frame): number; } export declare class Flamechart { private source; private layers; private totalWeight; private minFrameWidth; getTotalWeight(): number; getLayers(): StackLayer[]; getColorBucketForFrame(frame: Frame): number; getMinFrameWidth(): number; formatValue(v: number): string; getClampedViewportWidth(viewportWidth: number): number; getClampedConfigSpaceViewportRect({ configSpaceViewportRect, renderInverted, }: { configSpaceViewportRect: Rect; renderInverted?: boolean; }): Rect; constructor(source: FlamechartDataSource); } export {};