///
import type { NodeStyle, EdgeStyle, Emitter, Graph, GraphData, GraphSchema, NodeStatus, EdgeStatus, ComboData, Layout, NodeData, EdgeData } from './types';
export type IGetServices = Promise;
}>(id: T['id']) => T['query'];
export type IStore = {
/**
* data of graph
*/
data: GraphData;
/**
* data of graph
*/
source: GraphData;
/**
* dataMap
*/
dataMap: Map;
neighbors: string[];
links: string[];
[key: string]: any;
}>;
/**
* cluster combos
*/
combos: ComboData[];
/**
* width of graph
*/
width: number;
/**
* height of graph
*/
height: number;
/**
* render type
*/
render: '2D' | '3D';
isReady: boolean;
graph?: Graph;
emitter: null | Emitter;
nodeStyle: Record;
edgeStyle: Record;
nodeStatus: Record;
edgeStatus: Record;
graphId: string;
schema: GraphSchema;
isLoading: boolean;
getService: IGetServices;
reheatSimulation: boolean;
layout: Layout;
focusNodes: string[];
selectNodes: NodeData[];
selectEdges: EdgeData[];
tableViewIds: string[];
};
export declare const initialStore: IStore;
export declare const useContext: () => {
store: IStore;
updateStore: (fn: (state: IStore) => void) => void;
id: string;
};
export declare const GraphProvider: (props: any) => JSX.Element;