using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Knot.Modules.Profiles.Domain; public interface IProfileRepository { Task GetByIdAsync(Guid id, CancellationToken ct = default); Task GetByUsernameAsync(string username, CancellationToken ct = default); Task AddAsync(ProfileDocument profile, CancellationToken ct = default); Task UpdateAsync(ProfileDocument profile, CancellationToken ct = default); Task> SearchAsync(string query, CancellationToken ct = default); }