namespace QMax.Api.Infrastructure.Max; public interface IMaxBridgeClient { Task GetStatusAsync(CancellationToken cancellationToken); Task BeginPhoneLoginAsync(string phoneNumber, CancellationToken cancellationToken); Task SubmitLoginCodeAsync(string code, CancellationToken cancellationToken); Task GetSnapshotAsync(CancellationToken cancellationToken); Task> FetchUpdatesAsync(CancellationToken cancellationToken); Task FetchChatHistoryAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken); Task FetchChatPresenceAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken); Task ResolveChatUrlAsync(string externalChatId, CancellationToken cancellationToken); Task ClearChatHistoryAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken); Task DeleteChatAsync(string externalChatId, string? chatUrl, CancellationToken cancellationToken); Task SendTextAsync(string externalChatId, string? chatUrl, string text, CancellationToken cancellationToken); Task SendAttachmentAsync(string externalChatId, string? chatUrl, string path, string caption, CancellationToken cancellationToken); Task EditMessageAsync(string externalChatId, string externalMessageId, string? currentText, string text, CancellationToken cancellationToken); Task DeleteMessageAsync(string externalChatId, string externalMessageId, string? currentText, CancellationToken cancellationToken); Task SetReactionAsync(string externalChatId, string externalMessageId, string? currentText, string emoji, CancellationToken cancellationToken); Task ClearReactionAsync(string externalChatId, string externalMessageId, string? currentText, string emoji, CancellationToken cancellationToken); Task DownloadMediaAsync(string remoteUrl, CancellationToken cancellationToken); Task> SearchChannelsAsync(string query, CancellationToken cancellationToken) { return Task.FromResult>(Array.Empty()); } Task JoinChannelAsync(string link, CancellationToken cancellationToken) { return Task.FromResult(null); } }