import { Simulation } from 'd3'; import { BubbleData } from '../components/BubbleChart'; import { DetailedBudget } from '../../core'; import * as d3 from 'd3'; export type SimulationType = Simulation; /** * Enables dragging of bubbles * @param simulation D3 Simulation */ export declare const drag: (simulation: SimulationType) => d3.DragBehavior; /** * Provide d values for the arc between the start and end radius based on time * @param bubble Bubble data */ export declare const arcTween: (bubble: BubbleData) => (t: number) => string; /** * Enable drag * @param simulation D3 Simulation */ export declare const enableDrag: (simulation: SimulationType) => void; /** * Update location after a resize * @param simulation D3 Simulation * @param height New height * @param width New width */ export declare const resize: (simulation: SimulationType, height: number, width: number) => void; export declare const getScale: (min: number, max: number) => d3.ScaleLinear; /** * Simulates the chart * @param budgets Budget data */ export declare const simulate: (budgets: DetailedBudget[]) => d3.Simulation; export declare const getSmartScale: (count: number, height: number, maxValue: number, minValue: number, width: number) => d3.ScaleLinear; export declare const computeScaledNodes: (nodes: BubbleData[], budgets: DetailedBudget[], isCompact: boolean | undefined, height: number, width: number) => { radius: number; budgetColors: import('../../core').BudgetColors; category: import('../../core').DetailedCategory; description: string; percentage: number; subBudgets: DetailedBudget[]; amount: number; category_guid: string; end_date?: number; flags?: string[]; guid: string; parent_guid?: string; revision: number; start_date: number; transaction_total: number; user_guid: string; index?: number | undefined; x?: number | undefined; y?: number | undefined; vx?: number | undefined; vy?: number | undefined; fx?: number | null | undefined; fy?: number | null | undefined; }[];