import type { AstFile, ModuleItem, ImportDecl } from '../parser/ast.js'; import type { NodeKind } from '../types.js'; import { DiagnosticBag } from '../diagnostics/diagnostic.js'; export interface Symbol { readonly name: string; readonly qualifiedName: string; readonly nodeKind: NodeKind; readonly module: string; readonly declaration: ModuleItem; readonly file: string; readonly line: number; readonly column: number; } export interface ModuleSymbolTable { readonly name: string; readonly symbols: ReadonlyMap; readonly imports: readonly ResolvedImport[]; } export interface ResolvedImport { readonly localName: string; readonly qualifiedName: string; readonly sourceModule: string; readonly originalSymbol: string; readonly import: ImportDecl; } export interface BindResult { readonly modules: ReadonlyMap; readonly allSymbols: ReadonlyMap; readonly productName: string | undefined; readonly declaredModules: readonly string[] | undefined; readonly bag: DiagnosticBag; } export declare function bind(files: readonly AstFile[]): BindResult; export declare function resolveSymbolRef(segments: readonly string[], fromModule: string, modules: ReadonlyMap, allSymbols: ReadonlyMap): Symbol | null; //# sourceMappingURL=binder.d.ts.map