using System; using System.Collections.Generic; using System.Threading.Tasks; using Firebase.Database.Streaming; namespace Firebase.Database.Query { /// /// The FirebaseQuery interface. /// public interface IFirebaseQuery { /// /// Gets the owning client of this query. /// FirebaseClient Client { get; } /// /// Retrieves items which exist on the location specified by this query instance. /// /// Optional timeout value. /// Type of the items. /// Collection of . Task>> OnceAsync(TimeSpan? timeout = null); /// /// Returns current location as an observable which allows to real-time listening to events from the firebase server. /// /// Type of the items. /// Cold observable of . IObservable> AsObservable( EventHandler> exceptionHandler, string elementRoot = ""); /// /// Builds the actual url of this query. /// /// The . Task BuildUrlAsync(); } }