import type * as t from '@babel/types'; import type { GraphNode } from './types.js'; export interface RawImportBinding { importedName: string; source: string; } export interface RawExportBinding { localName?: string; source?: string; importedName?: string; anonymousDefault?: boolean; } export type ReduxHookKind = 'dispatch' | 'selector'; export interface RawModuleInfo { imports: Map; exports: Map; exportAllSources: string[]; } export interface FilePassData { relPath: string; moduleInfo: RawModuleInfo; localSymbols: Map; anonymousDefaultSymbol?: GraphNode; reduxStoreIds: string[]; reduxHookAliases: Map; } export interface ProjectIndex { readonly reduxStoreIds: string[]; resolveImportedSymbol(filePath: string, localName: string): GraphNode | undefined; resolveImportedMemberSymbol(filePath: string, namespaceName: string, memberName: string): GraphNode | undefined; resolveImportedReduxHookKind(filePath: string, localName: string): ReduxHookKind | undefined; getSingleReduxStore(): GraphNode | undefined; getAmbiguousReduxStore(): GraphNode; } export declare function collectModuleInfo(ast: t.File): RawModuleInfo; export declare function buildProjectIndex(projectRoot: string, files: FilePassData[]): ProjectIndex; //# sourceMappingURL=project-index.d.ts.map