// Type definitions for AngularFire 0.8.2 and Firebase Simple Login 1.6.4 // Project: http://angularfire.com // Definitions by: Dénes Harmath // Definitions: https://github.com/borisyankov/DefinitelyTyped /// /// interface AngularFireService { (firebase: Firebase, config?:any): AngularFire; } interface AngularFire { $asArray(): AngularFireArray; $asObject(): AngularFireObject; $ref(): Firebase; $push(data: any): ng.IPromise; $set(key: string, data: any): ng.IPromise; $set(data: any): ng.IPromise; $remove(key?: string): ng.IPromise; $update(key: string, data: any): ng.IPromise; $update(data: any): ng.IPromise; $transaction(updateFn: (currentData: any) => any, applyLocally?: boolean): ng.IPromise; } interface AngularFireObject { $id: string; $priority: number; $value: any; $save(): ng.IPromise; $loaded(): ng.IPromise; $inst(): Firebase; $bindTo(scope: ng.IScope, varName: string): ng.IPromise; $watch(callback: Function, context: any): Function; $destroy(): void; $extendFactory(ChildClass: Object, methods?: Object); } interface AngularFireArray extends Array { $add(newData: any): ng.IPromise; $save(recordOrIndex: any): ng.IPromise; $remove(recordOrIndex: any): ng.IPromise; $getRecord(key: string): any; $keyAt(recordOrIndex: any): string; $indexFor(key: string): number; $loaded(): ng.IPromise; $inst(): Firebase; $watch(cb: (event: string, key: string, prevChild: string) => void, context?: any): Function; $destroy(): void; $extendFactory(ChildClass:Object, methods?:Object); } interface AngularFireAuthService { (firebase: Firebase): AngularFireAuth; } interface AngularFireAuth { $getCurrentUser(): ng.IPromise; $login(provider: string, options?: Object): ng.IPromise; $logout(): void; $createUser(email: string, password: string): ng.IPromise; $changePassword(email: string, oldPassword: string, newPassword: string): ng.IPromise; $removeUser(email: string, password: string): ng.IPromise; $sendPasswordResetEmail(email: string): ng.IPromise; }