import 'package:fpdart/fpdart.dart'; import 'package:hiddify/domain/core_service_failure.dart'; import 'package:hiddify/domain/singbox/core_status.dart'; import 'package:hiddify/domain/singbox/outbounds.dart'; abstract interface class SingboxFacade { TaskEither setup(); TaskEither parseConfig(String path); TaskEither changeConfig(String fileName); TaskEither start(); TaskEither stop(); Stream>> watchOutbounds(); TaskEither selectOutbound( String groupTag, String outboundTag, ); TaskEither urlTest(String groupTag); Stream> watchCoreStatus(); Stream> watchLogs(); }