//
//  LocationsListViewModeling.swift
//  Locations
//
//  Created by Javier Cicchelli on 11/04/2023.
//  Copyright © 2023 Röck+Cöde. All rights reserved.
//

import Combine
import Foundation
import Persistence

protocol LocationsListViewModeling: AnyObject {
    
    // MARK: Properties
    
    var coordinator: LocationsListCoordination? { get set }
    
    var viewStatusPublisher: Published<LocationsListViewStatus>.Publisher { get }
    var numberOfSectionsInData: Int { get }
    
    // MARK: Functions
    
    func openAddLocation()
    func loadLocations()
    func numberOfDataItems(in section: Int) -> Int
    func dataItem(at indexPath: IndexPath) -> Location
    
}
