import { LanguageIdentifier } from "../base/common/languages/languages"; import { ILanguageServiceProvider } from "../base/common/languages/languageService"; import { RelevantCodeProvider } from "./base/RelevantCodeProvider"; import { CodeFile } from "../codemodel/CodeElement"; import { TreeSitterFile } from "../ast/TreeSitterFile"; import { NamedElement } from "../ast/NamedElement"; export declare class RelevantCodeProviderManager { private lsp; private relatedMap; /** * @param lsp - An instance of `LanguageServiceProvider` which is used to provide language-specific services. If not provided, a new instance of `DefaultLanguageServiceProvider` is used. */ constructor(lsp: ILanguageServiceProvider); provider(lang: LanguageIdentifier, langService: ILanguageServiceProvider): RelevantCodeProvider | undefined; /** * `relatedClassesContext` is an asynchronous method that retrieves the context of related classes for a given named element in a file. * * @param languageId - The ID of the supported language. This is used to get the relevant code provider. * @param file - An instance of `TreeSitterFile` which represents the file where the named element is located. * @param namedElement - An instance of `NamedElement` which represents the element for which related classes are to be found. * * The method first gets the relevant code provider for the given language ID and language service. If a relevant provider is found, it retrieves the related files using the `getMethodFanInAndFanOut` method of the provider. * * The method then renders the related files and returns the result. * * @returns A promise that resolves with the rendered related files. * * @throws Will throw an error if the relevant code provider is not found. */ relatedClassesContext(languageId: LanguageIdentifier, file: TreeSitterFile, namedElement: NamedElement): Promise; renderFiles(relatedFiles: CodeFile[]): string; }