import 'webdav.dart' show DavItem; /// 원격 저장소 (WebDAV · SFTP) 의 공통 동작. vfs 가 경로의 서버 종류 (dav:// · sftp://) 에 맞는 것을 부른다. /// 경로 [rel] 은 서버 기준 ("/" 로 시작, 맨 위는 "/"). abstract class RemoteClient { Future> list(String rel); /// 없으면 null Future stat(String rel); Future mkdirs(String rel); /// 지우기 (폴더면 안의 것까지) Future delete(String rel); /// 같은 서버 안에서 옮기기 · 이름 바꾸기 Future move(String from, String to, {bool overwrite = false}); Future>> openRead(String rel); Future write(String rel, Stream> data, {int? length}); /// (남은 공간, 쓴 공간) - 모르면 null Future<(int?, int?)> quota(); void close(); }