using ReallifeGamemode.Server.Core.API.API;

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace ReallifeGamemode.Server.Core.API
{
  public interface IAPI
  {
    IColShapeAPI ColShape { get; }

    IVehicleAPI Vehicle { get; }

    IMarkerAPI Marker { get; }

    ITextLabelAPI TextLabel { get; }

    IBlipAPI Blip { get; }

    void DisableDefaultCommandErrorMessages();

    void DisableDefaultSpawnBehavior();

    IPlayer GetPlayerFromNameOrId(string nameOrId);

    void SetGlobalChatEnabled(bool enable);

    void SetTime(int hour, int minute, int second);

    void TriggerClientEventForAll(string eventName, params object[] args);

    TEntity ToEntity<TEntity>(ushort handle) where TEntity : class, IEntity;
  }
}
