import Parser from 'tree-sitter'; import type { SyntaxNode } from 'tree-sitter'; import type { Definition } from '../definition-extractor.js'; import type { LanguageAdapter } from '../language-adapter.js'; import type { FileReference, InternalSymbolUsage } from '../reference-extractor.js'; import type { WorkspaceMap } from '../workspace-resolver.js'; /** * RubyAdapter implements language support for Ruby files (.rb, .rake, .gemspec). * Currently provides a skeleton for parsing infrastructure. */ export declare class RubyAdapter implements LanguageAdapter { readonly languageId = "ruby"; readonly fileExtensions: string[]; readonly defaultIgnorePatterns: string[]; private parser; constructor(); /** * Get the tree-sitter parser instance for Ruby. */ getParser(_filePath: string): Parser; /** * Extract all top-level definitions from the syntax tree. */ extractDefinitions(rootNode: SyntaxNode): Definition[]; /** * Extract all import/export references from the syntax tree. * Handles require, require_relative, include, extend, and prepend statements. */ extractReferences(rootNode: SyntaxNode, filePath: string, knownFiles: Set, _workspaceMap?: WorkspaceMap | null): FileReference[]; /** * Extract internal symbol usages within the same file. * Detects method calls to locally-defined methods, handling implicit self * receiver and super calls. */ extractInternalUsages(rootNode: SyntaxNode, definitions: Definition[]): InternalSymbolUsage[]; /** * Resolve an import path to an absolute file path. * Handles require_relative (relative paths) and require (bare paths). */ resolveImportPath(source: string, fromFile: string, knownFiles: Set, _workspaceMap?: WorkspaceMap | null): string | null; } //# sourceMappingURL=ruby-adapter.d.ts.map