// Type definitions for AngularFire 0.8.2 // 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: Object): ng.IPromise; $update(data: any): ng.IPromise; $transaction(updateFn: (currentData: any) => any, applyLocally?: boolean): ng.IPromise; $transaction(key:string, updateFn: (currentData: any) => any, applyLocally?: boolean): ng.IPromise; } interface AngularFireObject extends AngularFireSimpleObject { $id: string; $priority: number; $value: any; $remove(): ng.IPromise; $save(): ng.IPromise; $loaded(resolve?: (x: AngularFireObject) => ng.IHttpPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireObject) => ng.IPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireObject) => void, reject?: (err: any) => any): ng.IPromise; $ref(): AngularFire; $bindTo(scope: ng.IScope, varName: string): ng.IPromise; $watch(callback: Function, context?: any): Function; $destroy(): void; } interface AngularFireObjectService { (firebase: Firebase): AngularFireObject; $extend(ChildClass: Object, methods?: Object): Object; } interface AngularFireArray extends Array { $add(newData: any): ng.IPromise; $save(recordOrIndex: any): ng.IPromise; $remove(recordOrIndex: any): ng.IPromise; $getRecord(key: string): AngularFireSimpleObject; $keyAt(recordOrIndex: any): string; $indexFor(key: string): number; $loaded(resolve?: (x: AngularFireArray) => ng.IHttpPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireArray) => ng.IPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireArray) => void, reject?: (err: any) => any): ng.IPromise; $ref(): AngularFire; $watch(cb: (event: string, key: string, prevChild: string) => void, context?: any): Function; $destroy(): void; } interface AngularFireArrayService { (firebase: Firebase): AngularFireArray; $extend(ChildClass: Object, methods?: Object): Object; } interface AngularFireSimpleObject { $id: string; $priority: number; $value: any; [key: string]: any; } interface AngularFireAuthService { (firebase: Firebase): AngularFireAuth; } interface AngularFireAuth { $authWithCustomToken(authToken: string, options?: Object): ng.IPromise; $authAnonymously(options?: Object): ng.IPromise; $authWithPassword(credentials: FirebaseCredentials, options?: Object): ng.IPromise; $authWithOAuthPopup(provider: string, options?: Object): ng.IPromise; $authWithOAuthRedirect(provider: string, options?: Object): ng.IPromise; $authWithOAuthToken(provider: string, credentials: Object|string, options?: Object): ng.IPromise; $getAuth(): FirebaseAuthData; $onAuth(callback: Function, context?: any): Function; $unauth(): void; $waitForAuth(): ng.IPromise; $requireAuth(): ng.IPromise; $createUser(credentials: FirebaseCredentials): ng.IPromise; $removeUser(credentials: FirebaseCredentials): ng.IPromise; $changeEmail(credentials: FirebaseChangeEmailCredentials): ng.IPromise; $changePassword(credentials: FirebaseChangePasswordCredentials): ng.IPromise; $resetPassword(credentials: FirebaseResetPasswordCredentials): ng.IPromise; }