import { type LLMInstanceOptions, type LLMProviders, type LLMPurposes, type LLMServiceByPurpose } from '../LLMService.typedefs'; import { type LLMLoggerInterface } from '../utilities/logger'; import { type LLMReporterInterface } from '../utilities/reporter'; export interface LLMCreateServiceOptions | undefined> { purpose: Purpose; logger?: LLMLoggerInterface; reporter?: Reporter; options?: LLMInstanceOptions[Provider]; } export declare abstract class LLMServicePurposeFactory { abstract createService | undefined>(options: LLMCreateServiceOptions): LLMServiceByPurpose[Purpose]; }