import { Attributes } from "graphology-types"; import { EdgeLabelDrawingFunction, EdgeProgramType, NodeHoverDrawingFunction, NodeLabelDrawingFunction, NodeProgramType } from "./rendering/index.js"; import { AtLeastOne, EdgeDisplayData, NodeDisplayData } from "./types.js"; export interface Settings { hideEdgesOnMove: boolean; hideLabelsOnMove: boolean; renderLabels: boolean; renderEdgeLabels: boolean; enableEdgeEvents: boolean; defaultNodeColor: string; defaultNodeType: string; defaultEdgeColor: string; defaultEdgeType: string; labelFont: string; labelSize: number; labelWeight: string; labelColor: { attribute: string; color?: string; } | { color: string; attribute?: undefined; }; edgeLabelFont: string; edgeLabelSize: number; edgeLabelWeight: string; edgeLabelColor: { attribute: string; color?: string; } | { color: string; attribute?: undefined; }; stagePadding: number; defaultDrawEdgeLabel: EdgeLabelDrawingFunction; defaultDrawNodeLabel: NodeLabelDrawingFunction; defaultDrawNodeHover: NodeHoverDrawingFunction; minEdgeThickness: number; antiAliasingFeather: number; dragTimeout: number; draggedEventsTolerance: number; inertiaDuration: number; inertiaRatio: number; zoomDuration: number; zoomingRatio: number; doubleClickTimeout: number; doubleClickZoomingRatio: number; doubleClickZoomingDuration: number; tapMoveTolerance: number; zoomToSizeRatioFunction: (ratio: number) => number; itemSizesReference: "screen" | "positions"; autoRescale: boolean; autoCenter: boolean; labelDensity: number; labelGridCellSize: number; labelRenderedSizeThreshold: number; nodeReducer: null | ((node: string, data: N) => Partial); edgeReducer: null | ((edge: string, data: E) => Partial); zIndex: boolean; minCameraRatio: null | number; maxCameraRatio: null | number; enableCameraZooming: boolean; enableCameraPanning: boolean; enableCameraRotation: boolean; cameraPanBoundaries: null | true | AtLeastOne<{ tolerance: number; boundaries: { x: [number, number]; y: [number, number]; }; }>; allowInvalidContainer: boolean; nodeProgramClasses: { [type: string]: NodeProgramType; }; nodeHoverProgramClasses: { [type: string]: NodeProgramType; }; edgeProgramClasses: { [type: string]: EdgeProgramType; }; } export declare const DEFAULT_SETTINGS: Settings; export declare const DEFAULT_NODE_PROGRAM_CLASSES: Record; export declare const DEFAULT_EDGE_PROGRAM_CLASSES: Record; export declare function validateSettings(settings: Settings): void; export declare function resolveSettings(settings: Partial>): Settings;