using RutasDBUS.Modelos.Geocodificacion;

namespace RutasDBUS.Servicios.Geocodificacion;

public interface IGeocodificadorLocalServicio
{
    Task<IReadOnlyList<LugarGeocodificado>> BuscarAsync(
        string texto,
        int maxResultados = 8,
        CancellationToken cancellationToken = default);

    Task<LugarGeocodificadoCercano?> BuscarMasCercanoAsync(
        double latitud,
        double longitud,
        CancellationToken cancellationToken = default);

    Task<IReadOnlyList<LugarGeocodificadoCercano>> BuscarCercanosAsync(
        double latitud,
        double longitud,
        double radioMetros = 20,
        int maxResultados = 3,
        CancellationToken cancellationToken = default);

    Task<int> ContarLugaresAsync(CancellationToken cancellationToken = default);
}
