/** * Parser Factory * * Creates language-specific parser instances. * The actual parser implementations are in separate packages * and must be registered before use. */ import { Parser } from './parser-types'; /** * Registry of parser constructors * Language providers are passed as 'any' to avoid coupling */ type ParserConstructor = new (languageProvider: any) => Parser; /** * Parser factory for creating language-specific parsers */ export declare class ParserFactory { /** * Register a parser implementation for a language * * @example * import { EnglishParser } from '@sharpee/parser-en-us'; * ParserFactory.registerParser('en-US', EnglishParser); */ static registerParser(languageCode: string, parserClass: ParserConstructor): void; /** * Create a parser for the specified language * * @throws Error if no parser is registered for the language */ static createParser(languageCode: string, languageProvider: any): Parser; /** * Get list of registered language codes */ static getRegisteredLanguages(): string[]; /** * Check if a parser is registered for a language */ static isLanguageRegistered(languageCode: string): boolean; /** * Clear all registered parsers (mainly for testing) */ static clearRegistry(): void; } export {}; //# sourceMappingURL=parser-factory.d.ts.map