import type { Language } from "../../core/domain/language.js"; import type { ExtractionContext } from "./extraction-context.js"; export interface IExtractor { readonly name: string; extract(ctx: ExtractionContext): Promise; } export interface ILanguageAdapter { readonly language: Language; extract(ctx: ExtractionContext): Promise; } export declare class LanguageDispatchExtractor implements IExtractor { readonly name: string; private readonly empty; private readonly byLanguage; constructor(name: string, adapters: readonly ILanguageAdapter[], empty?: TResult[]); extract(ctx: ExtractionContext): Promise; }