// Type definitions for Firebase Client 0.1.0 // Project: https://www.github.com/jpstevens/firebase-client // Definitions by: Andrew Breen // Definitions: https://github.com/borisyankov/DefinitelyTyped /// interface PushResponse { /** * Name ref (key) of the child resource */ name : string; } interface FirebaseConfig { /** * path for the Firebase instance */ url : string; /** * Token for authorisation */ auth: string; } interface FirebaseClient { /** * Creates a new FirebaseClient given the provided configuration */ new (config : FirebaseConfig) : FirebaseClient; /** * Retrieves all objects at the base path */ get() : Q.Promise; /** * Retrieves an object * @param path Relative path from the base for the resource */ get(path : string) : Q.Promise; /** * Returns a promise of the HTTP response from setting the value at the given path * @param path Relative path from the base for the resource * @param data Data to be set as the value for the given path */ set(path : string, data : T) : Q.Promise; /** * Update a node at a given path * @param path Relative path from the base for the resource * @param value Value of the response */ update(path : string, value : T) : Q.Promise; /** * Deletes the resource at a given path * @param path Relative path from the base for the resource */ delete(path : string) : Q.Promise; /** * @param path Relative path from the base for the resource * @param value Object to push to the path */ push(path : string, value : T) : Q.Promise; } declare var FirebaseClient: FirebaseClient; declare module 'firebase-client' { export = FirebaseClient; }