import 'package:flutter/material.dart'; class Item { bool isFolder; Uri uri; String name; Item(this.isFolder, this.uri, this.name); @override String toString() { return 'Item{isFolder: $isFolder, uri: $uri, name: $name}'; } } class Folder { List items; Uri self; Uri parent; Folder(this.items, this.self, this.parent); @override String toString() { return 'Folder{items: $items, self: $self, parent: $parent}'; } } abstract class DataProvider { final List validSuffix = [".jpg", ".jpeg", ".png"]; Future connect(); Future listOfFiles({Uri? uri}); ImageProvider getImageProvider(Uri uri); }