using System.Text.Json.Serialization; using AIStudio.Provider; using AIStudio.Settings; namespace AIStudio.Chat; /// /// Represents an image inside the chat. /// public sealed class ContentImage : IContent { #region Implementation of IContent /// [JsonIgnore] public bool InitialRemoteWait { get; set; } = false; /// [JsonIgnore] public bool IsStreaming { get; set; } = false; /// [JsonIgnore] public Func StreamingDone { get; set; } = () => Task.CompletedTask; /// [JsonIgnore] public Func StreamingEvent { get; set; } = () => Task.CompletedTask; /// public Task CreateFromProviderAsync(IProvider provider, SettingsManager settings, Model chatModel, IContent? lastPrompt, ChatThread? chatChatThread, CancellationToken token = default) { throw new NotImplementedException(); } #endregion /// /// The type of the image source. /// /// /// Is the image source a URL, a local file path, a base64 string, etc.? /// public required ContentImageSource SourceType { get; init; } /// /// The image source. /// public required string Source { get; set; } }