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

namespace Knot.Contracts.Auth.Abstractions;

public interface IUserQueryService
{
    Task<List<UserInfo>> GetAllUsersAsync(CancellationToken cancellationToken);
    Task<List<UserInfo>> SearchUsersAsync(string query, CancellationToken cancellationToken);
}

public record UserInfo(Guid Id, string? Avatar, string? UserName, string? DisplayName, DateTime CreatedAt, string? PhoneNumber, string? Email);
