/** * The following code is modified based on * https://github.com/token-js/token.js/blob/main/src/handlers/base.ts * * MIT License * Copyright (c) 2024 RPate97 * https://github.com/token-js/token.js/blob/main/LICENSE */ import { CompletionParams, LLMChatModel } from '../chat/index.js'; import { CompletionResponse, ConfigOptions, StreamCompletionResponse } from '../userTypes/index.js'; export declare abstract class BaseHandler { opts: ConfigOptions; protected models: readonly T[] | boolean; protected supportsJSON: readonly T[] | boolean; protected supportsImages: readonly T[] | boolean; protected supportsToolCalls: readonly T[] | boolean; protected supportsN: readonly T[] | boolean; protected supportsStreamingMessages: readonly T[] | boolean; constructor(opts: ConfigOptions, models: readonly T[] | boolean, supportsJSON: readonly T[] | boolean, supportsImages: readonly T[] | boolean, supportsToolCalls: readonly T[] | boolean, suportsN: readonly T[] | boolean, supportsStreamingMessages: readonly T[] | boolean); abstract create(body: CompletionParams): Promise; protected validateInputs(body: CompletionParams): void; protected isSupportedFeature(featureSupport: readonly T[] | boolean, model: T): boolean; isSupportedModel(model: string): model is T; protected supportsJSONMode(model: T): boolean; protected supportsImageMessages(model: T): boolean; protected supportsNGreaterThanOne(model: T): boolean; protected supportsTools(model: T): boolean; protected supportsStreaming(model: T): boolean; } //# sourceMappingURL=base.d.ts.map