﻿using System.Collections.Generic;
using DotDotBot.Models;
using DotDotBot.Services;

namespace DotDotBot.Contracts
{
    public interface IIrcClient
    {
        IrcCredentials Credentials { get; }
        void Connect(IrcCredentials ircCredentials, string server, int port);
        IrcChannels Channels { get; }
        void SendMessage(string message, string destination);
        void SendRawMessage(string message);
        IUserService UserService { get; set; }
        bool IsConnected { get; }
        List<string> AutoJoinChannels { get; set; }
        void JoinChannel(string channelName);
        IPluginDataService PluginDataService { get; set; }
        ITwitchService TwitchService { get; set; }
    }
}
