export interface NodeMetadata { description?: string; category?: string; properties?: Record; tags?: string[]; createdAt?: string; updatedAt?: string; primaryPhone?: string; phoneAliases?: string[]; canonicalId?: string; synthetic?: boolean; isVirtual?: boolean; originalId?: string; edgeId?: string; edgeLabel?: string; isFloating?: boolean; originalEdgeId?: string; originalSource?: string; originalTarget?: string; hasEmptyFields?: boolean; } export interface Node { id: string; label: string; type?: string; image?: string; metadata?: NodeMetadata; data?: Record; } export interface Edge { id: string; source: string; target: string; label?: string; weight?: number; data?: Record; source_detail?: string; target_detail?: string; } export interface GraphData { nodes: Node[]; edges: Edge[]; } export interface GraphLayoutOptions { name: string; animate?: boolean | 'end'; padding?: number; nodeSpacing?: number; edgeLength?: number; directed?: boolean; [key: string]: any; } export interface DetachedNodeGroup { category: string; nodes: Node[]; count: number; } export interface DetachedNodesFilter { category?: string; type?: string; tags?: string[]; searchTerm?: string; includeValues?: string[]; excludeValues?: string[]; } export type OrganizationMode = 'category' | 'type' | 'tags' | 'alphabetical' | 'date'; export type ViewMode = 'grid' | 'list' | 'compact'; export interface DetachedNodesState { detachedNodes: Node[]; filteredNodes: Node[]; groupedNodes: DetachedNodeGroup[]; organizationMode: OrganizationMode; viewMode: ViewMode; filter: DetachedNodesFilter; selectedDetachedNodes: string[]; } //# sourceMappingURL=graph.d.ts.map