import { Observable } from 'rxjs/Observable'; import { Operator } from 'rxjs/Operator'; import { Subscriber } from 'rxjs/Subscriber'; import { Subscription } from 'rxjs/Subscription'; import * as firebase from 'firebase'; import { AFUnwrappedDataSnapshot, FirebaseOperationCases } from '../interfaces'; export declare type FirebaseOperation = string | firebase.database.Reference | firebase.database.DataSnapshot | AFUnwrappedDataSnapshot; export declare class FirebaseListObservable extends Observable { $ref: firebase.database.Reference | firebase.database.Query; constructor($ref: firebase.database.Reference | firebase.database.Query, subscribe?: (subscriber: Subscriber) => Subscription | Function | void); lift(operator: Operator): Observable; push(value: any, onComplete?: (a: Object) => any): firebase.database.ThenableReference; transaction(item: FirebaseOperation, transactionUpdate: (a: any) => any, onComplete?: (a: Object, b: boolean, c: firebase.database.DataSnapshot) => any, applyLocally?: boolean): firebase.Promise; update(item: FirebaseOperation, value: Object, onComplete?: (a: Object) => any): firebase.Promise; remove(onComplete?: (a: Object) => any): firebase.Promise; remove(item?: FirebaseOperation, onComplete?: (a: Object) => any): firebase.Promise; _checkOperationCases(item: FirebaseOperation, cases: FirebaseOperationCases): firebase.Promise; }