import * as d3 from 'd3'; import { MarkModel } from './MarkModel'; export interface NodeShapeAttrs { r?: number; width?: number; height?: number; rx?: number; ry?: number; } export interface NodeData extends d3.SimulationNodeDatum { label: string; label_display: 'center' | 'outside' | 'none'; shape: 'circle' | 'rect' | 'ellipse'; shape_attrs: NodeShapeAttrs; value?: number; xval: number; yval: number; color: number; } export interface LinkData { source: NodeData; target: NodeData; value: number; } export declare class GraphModel extends MarkModel { defaults(): { _model_name: string; _view_name: string; node_data: any[]; link_matrix: any[]; link_data: any[]; charge: number; static: boolean; link_distance: number; link_type: string; directed: boolean; highlight_links: boolean; colors: string[]; x: any[]; y: any[]; color: any; link_color: any; hovered_point: any; scales_metadata: { x: { orientation: string; dimension: string; }; y: { orientation: string; dimension: string; }; color: { dimension: string; }; }; _model_module: string; _view_module: string; _model_module_version: string; _view_module_version: string; scales: {}; preserve_domain: {}; display_legend: boolean; labels: any[]; apply_clip: boolean; visible: boolean; selected_style: {}; unselected_style: {}; selected: any; enable_hover: boolean; tooltip: any; tooltip_style: { opacity: number; }; interactions: { hover: string; }; tooltip_location: string; }; initialize(attributes: any, options: any): void; get static(): boolean; get charge(): number; get directed(): boolean; private get nodeData(); private getShapeAttrs; private updateNodeData; private updateLinkData; update_data(): void; update_domains(): void; static serializers: { x: { deserialize: (data: any, manager: any) => any; serialize: (data: any, manager: any) => any; }; y: { deserialize: (data: any, manager: any) => any; serialize: (data: any, manager: any) => any; }; color: { deserialize: (data: any, manager: any) => any; serialize: (data: any, manager: any) => any; }; link_color: { deserialize: (data: any, manager: any) => any; serialize: (data: any, manager: any) => any; }; link_matrix: { deserialize: (data: any, manager: any) => any; serialize: (data: any, manager: any) => any; }; scales: { deserialize: typeof import("@jupyter-widgets/base").unpack_models; }; tooltip: { deserialize: typeof import("@jupyter-widgets/base").unpack_models; }; selected: { deserialize: (data: any, manager: any) => any; serialize: (data: any, manager: any) => any; }; }; mark_data: NodeData[]; link_data: LinkData[]; }