import 'dart:async'; import 'package:fpdart/fpdart.dart'; import 'package:hiddify/domain/clash/clash.dart'; import 'package:hiddify/domain/constants.dart'; abstract class ClashFacade { TaskEither getConfigs(); TaskEither validateConfig(String configFileName); /// change active configuration file by [configFileName] TaskEither changeConfigs(String configFileName); TaskEither patchOverrides(ClashConfig overrides); TaskEither> getProxies(); TaskEither changeProxy( String selectorName, String proxyName, ); TaskEither testDelay( String proxyName, { String testUrl = Constants.delayTestUrl, }); TaskEither getTraffic(); Stream> watchLogs(); }