using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using UnityEngine; namespace LLM.Editor.Client { /// /// Defines a common contract for API clients that can communicate with an LLM. /// This allows for swapping between different clients, such as a real one (Gemini) /// and a mock one for testing. /// public interface ILlmApiClient { public Task Initialize(); public Task SendPrompt(string prompt, List stagedContext, CancellationToken cancellationToken = default); public Task SendFollowUp(string detailedContext, CancellationToken cancellationToken = default); public string GetAuthToken(); } }