/** * useGalaxyData Hook * * Fetches and transforms data from Drift's boundary scanner and call graph * into the galaxy visualization format. */ import type { GalaxyData } from '../types/index.js'; export interface UseGalaxyDataOptions { /** Auto-fetch on mount */ autoFetch?: boolean; /** Refresh interval in ms (0 = disabled) */ refreshInterval?: number; /** Data source endpoint or function */ dataSource?: string | (() => Promise); } export interface RawGalaxyData { tables: RawTable[]; entryPoints: RawEntryPoint[]; dataPaths: RawDataPath[]; relationships?: RawRelationship[]; } interface RawTable { id: string; name: string; schema?: string; rowCount?: number; accessCount?: number; sensitivity?: string; securityTier?: string; cluster?: string; fields: RawField[]; } interface RawField { id: string; name: string; dataType: string; sensitivity?: string; isPrimaryKey?: boolean; isForeignKey?: boolean; foreignKeyTarget?: string; accessCount?: number; isTested?: boolean; } interface RawEntryPoint { id: string; path: string; method: string; authLevel?: string; securityTier?: string; file: string; line: number; framework?: string; reachableTables?: string[]; } interface RawDataPath { id: string; sourceId: string; sourceType: string; targetTableId: string; targetFieldId?: string; operation?: string; frequency?: number; depth?: number; isTested?: boolean; callChain?: string[]; sensitivity?: string; } interface RawRelationship { id: string; sourceTableId: string; sourceFieldId: string; targetTableId: string; targetFieldId: string; type?: string; } export declare function useGalaxyData(options?: UseGalaxyDataOptions): { data: GalaxyData | null; isLoading: boolean; error: string | null; refetch: () => Promise; }; export {}; //# sourceMappingURL=useGalaxyData.d.ts.map