using System; using System.Data; using System.Data.Common; using System.Threading; using System.Threading.Tasks; namespace PluralKit.Core { public interface IPKCommand: IDbCommand, IAsyncDisposable { public Task PrepareAsync(CancellationToken ct = default); public Task ExecuteNonQueryAsync(CancellationToken ct = default); public Task ExecuteScalarAsync(CancellationToken ct = default); public Task ExecuteReaderAsync(CancellationToken ct = default); public Task ExecuteReaderAsync(CommandBehavior behavior, CancellationToken ct = default); } }