import type { TreeGraphData, VisualizationOptions } from '../../types'; export type OrganizationChartData = TreeGraphData; /** * OrganizationChartConfig defines the configuration for rendering the organization chart. */ export interface OrganizationChartConfig { type?: 'organization-chart'; data: OrganizationChartData; theme?: 'default' | 'academy' | 'dark'; title?: string; style?: { backgroundColor?: string; palette?: string[]; }; } /** * OrganizationChartInstance represents a chart instance with render and destroy methods. */ export interface OrganizationChartInstance { render: (config: OrganizationChartConfig) => void; destroy: () => void; zoomTo: (zoom: number) => void; getZoom: () => number | undefined; } /** * OrganizationChart component using G6 5.0. * - dagre (TB) layout for hierarchical structure * - custom rect node with name + description labels * - depth-based color cycling * * @example * ```ts * const chart = OrganizationChart({ container: '#container', width: 600, height: 400 }); * * chart.render({ * type: 'organization-chart', * data: { * name: 'Alice Johnson', * description: 'Chief Technology Officer', * children: [ * { * name: 'Bob Smith', * description: 'Senior Software Engineer', * children: [ * { name: 'Charlie Brown', description: 'Software Engineer' }, * { name: 'Diana White', description: 'Software Engineer' }, * ], * }, * { * name: 'Eve Black', * description: 'IT Support Department Head', * children: [ * { name: 'Frank Green', description: 'IT Support Specialist' }, * { name: 'Grace Blue', description: 'IT Support Specialist' }, * ], * }, * ], * }, * }); * * chart.destroy(); * ``` */ export declare const OrganizationChart: (options: VisualizationOptions) => OrganizationChartInstance;