/*
 * @Author: WuWei
 * @Date: 2020-05-27 10:39:33
 * @LastEditors  : WuWei
 * @LastEditTime : 2021-10-22 14:35:20
 * @Description:
 */
import 'package:app_package/app_package.dart';
import 'package:search_package/src/models/cascade_house.dart';
import '../models/search_resident_list.dart';
import '../models/search_resident_wechat.dart';
import '../models/search_house_list.dart';
import '../models/search_resident_detail.dart';
import '../models/search_resident_car.dart';
import '../models/search_house_resident.dart';
import '../models/search_house_car.dart';
import '../models/search_house_detail.dart';
import '../models/search_resident_park.dart';
import '../models/search_resident_house.dart';
import '../models/search_house_park.dart';
import '../models/search_house_bill.dart';
import '../models/search_house_meter.dart';
import '../models/search_car_list.dart';
import '../models/search_car_detail.dart';
import '../models/search_park_list.dart';
import '../models/search_park_detail.dart';

abstract class SearchIndexService {
  Future<ResModel<PagingModel<SearchResidentListModel>>> getResidentList(data);
  Future<ResModel<PagingModel<SearchHouseListModel>>> getHouseList(data);
  Future<ResModel<List<SearchResidentWechatModel>?>> getResidentWechat(data);
  Future<ResModel<SearchResidentDetailModel>> getResidentDetail(data);
  Future<ResModel<List<SearchResidentHouseModel>?>> getResidentHouse(data);
  Future<ResModel<List<SearchResidentCarModel>?>> getResidentCar(data);
  Future<ResModel<List<SearchResidentParkModel>?>> getResidentPark(data);
  Future<ResModel<SearchHouseDetailModel>> getHouseDetail(data);
  Future<ResModel<List<SearchHouseCarModel>?>> getHouseCar(data);
  Future<ResModel<List<SearchHouseResidentModel>?>> getHouseResident(data);
  Future<ResModel<List<SearchHouseParkModel>?>> getHousePark(data);
  Future<ResModel<List<SearchHouseBillModel>?>> getHouseBill(data);
  Future<ResModel<List<SearchHouseMeterModel>?>> getHouseMeter(data);
  Future<ResModel<PagingModel<SearchCarListModel>>> getCarList(data);
  Future<ResModel<SearchCarDetailModel>> getCarDetail(data);
  Future<ResModel<PagingModel<SearchParkListModel>>> getParkList(data);
  Future<ResModel<SearchParkDetailModel>> getParkDetail(data);

  ///获取楼栋
  Future<ResModel<List<CascadeHouseModel>?>> getBuildInfo(data);

  ///获取单元
  Future<ResModel<List<CascadeHouseModel>?>> getUnitInfo(data);

  ///获取楼层
  Future<ResModel<List<CascadeHouseModel>?>> getFloorInfo(data);

  ///获取房屋
  Future<ResModel<List<CascadeHouseModel>?>> getHouseInfo(data);

  /// 添加住户、住户新增
  /// http://yapi.wisdomcity.com.cn/project/40/interface/api/18131
  Future<String?> postAddResident(data);

  //住户编辑
  Future<int?> patchEditResident(id, data);
}
