interface DOMElement {} interface Promise {} declare class Registry {} declare class Transition {} declare namespace Handlebars { class SafeString {} } declare class JQuery {} declare module 'ember' { export namespace Ember { /** * Framework objects in an Ember application (components, services, routes, etc.) are created via a factory and dependency injection system. Each of these objects is the responsibility of an "owner", which handled its instantiation and manages its lifetime. */ function getOwner(object: {}): {}; /** * `setOwner` forces a new owner on a given object instance. This is primarily useful in some testing cases. */ function setOwner(object: {}): {}; /** * Display a deprecation warning with the provided message and a stack trace (Chrome and Firefox only). Ember build tools will remove any calls to `Ember.deprecate()` when doing a production build. */ function deprecate(message: string, test: boolean, options: {}); /** * Define an assertion that will throw an exception if the condition is not met. Ember build tools will remove any calls to `Ember.assert()` when doing an Ember.js framework production build and will make the assertion a no-op for an application production build. Example: */ function assert(desc: string, test: boolean); /** * Display a debug notice. Ember build tools will remove any calls to `Ember.debug()` when doing a production build. */ function debug(message: string); /** * Run a function meant for debugging. Ember build tools will remove any calls to `Ember.runInDebug()` when doing a production build. */ function runInDebug(func: Function); /** * Display a warning with the provided message. Ember build tools will remove any calls to `Ember.warn()` when doing a production build. */ function warn(message: string, test: boolean, options: {}); /** * Copy properties from a source object to a target object. */ function assign(original: {}, args: {}): {}; /** * Debug parameter you can turn on. This will log all bindings that fire to the console. This should be disabled in production code. Note that you can also enable this from the console or temporarily. */ var LOG_BINDINGS: boolean; /** * Global helper method to create a new binding. Just pass the root object along with a `to` and `from` path to create and connect the binding. */ function bind(obj: {}, to: string, from: string): Binding; /** * Returns the cached value for a property, if one exists. This can be useful for peeking at the value of a computed property that is generated lazily, without accidentally causing it to be created. */ function cacheFor(obj: {}, key: string): {}; /** * The semantic version. */ var VERSION: string; /** * The hash of environment variables used to control various configuration settings. To specify your own or override default settings, add the desired properties to a global hash named `EmberENV` (or `ENV` for backwards compatibility with earlier versions of Ember). The `EmberENV` hash must be created before loading Ember. */ var ENV: {}; /** * Determines whether Ember should add to `Array`, `Function`, and `String` native object prototypes, a few extra methods in order to provide a more friendly API. */ var EXTEND_PROTOTYPES: boolean; /** * The `LOG_STACKTRACE_ON_DEPRECATION` property, when true, tells Ember to log a full stack trace during deprecation warnings. */ var LOG_STACKTRACE_ON_DEPRECATION: boolean; /** * The `LOG_VERSION` property, when true, tells Ember to log versions of all dependent libraries in use. */ var LOG_VERSION: boolean; /** * An empty function useful for some operations. Always returns `this`. */ function K(): {}; /** * Add an event listener */ function addListener(obj: any, eventName: string, target: {}|Function, method: Function|string, once: boolean); /** * Remove an event listener */ function removeListener(obj: any, eventName: string, target: {}|Function, method: Function|string); /** * Send an event. The execution of suspended listeners is skipped, and once listeners are removed. A listener without a target is executed on the passed object. If an array of actions is not passed, the actions stored on the passed object are invoked. */ function sendEvent(obj: any, eventName: string, params: Ember.Array, actions: Ember.Array): void; /** * Define a property as a function that should be executed when a specified event or events are triggered. */ function on(eventNames: string, func: Function): void; /** * To get multiple properties at once, call `Ember.getProperties` with an object followed by a list of strings or an array: */ function getProperties(obj: {}, ...list: string[]): {}; /** * A value is blank if it is empty or a whitespace string. */ function isBlank(obj: {}): boolean; /** * Verifies that a value is `null` or an empty string, empty array, or empty function. */ function isEmpty(obj: {}): boolean; /** * Returns true if the passed value is null or undefined. This avoids errors from JSLint complaining about use of ==, which can be technically confusing. */ function isNone(obj: {}): boolean; /** * A value is present if it not `isBlank`. */ function isPresent(obj: {}): boolean; /** * Merge the contents of two objects together into the first object. */ function merge(original: {}, updates: {}): {}; /** * Makes a method available via an additional name. */ function aliasMethod(methodName: string); /** * Specify a method that observes property changes. */ function observer(propertyNames: string, func: Function): void; function addObserver(obj: any, _path: string, target: {}|Function, method: Function|string); function removeObserver(obj: any, path: string, target: {}|Function, method: Function|string); /** * Gets the value of a property on an object. If the property is computed, the function will be invoked. If the property is not defined but the object implements the `unknownProperty` method then that will be invoked. */ function get(obj: {}, keyName: string): {}; /** * Retrieves the value of a property from an Object, or a default value in the case that the property returns `undefined`. */ function getWithDefault(obj: {}, keyName: string, defaultValue: {}): {}; /** * Sets the value of a property on an object, respecting computed properties and notifying observers and other listeners of the change. If the property is not defined but the object implements the `setUnknownProperty` method then that will be invoked as well. */ function set(obj: {}, keyName: string, value: {}): {}; /** * Error-tolerant form of `Ember.set`. Will not blow up if any part of the chain is `undefined`, `null`, or destroyed. */ function trySet(root: {}, path: string, value: {}); /** * Set a list of properties on an object. These properties are set inside a single `beginPropertyChanges` and `endPropertyChanges` batch, so observers will be buffered. */ function setProperties(obj: any, properties: {}): void; /** * Returns a unique id for the object. If the object does not yet have a guid, one will be assigned to it. You can call this on any object, `Ember.Object`-based or not, but be aware that it will add a `_guid` property. */ function guidFor(obj: {}): string; /** * Checks to see if the `methodName` exists on the `obj`, and if it does, invokes it with the arguments passed. */ function tryInvoke(obj: {}, methodName: string, args: Ember.Array): any; /** * Creates an `Ember.NativeArray` from an Array like object. Does not modify the original object. Ember.A is not needed if `Ember.EXTEND_PROTOTYPES` is `true` (the default value). However, it is recommended that you use Ember.A when creating addons for ember or when you can not guarantee that `Ember.EXTEND_PROTOTYPES` will be `true`. */ function A(): NativeArray; /** * Compares two javascript values and returns: */ function compare(v: {}, w: {}): number; /** * Creates a shallow copy of the passed object. A deep copy of the object is returned if the optional `deep` argument is `true`. */ function copy(obj: {}, deep: boolean): {}; /** * Compares two objects, returning true if they are equal. */ function isEqual(a: {}, b: {}): boolean; /** * Returns true if the passed object is an array or Array-like. */ function isArray(obj: {}): boolean; /** * Returns a consistent type for the passed object. */ function typeOf(item: {}): string; /** * Alias for jQuery */ function $(); export namespace ApplicationInstance { /** * A list of boot-time configuration options for customizing the behavior of an `Ember.ApplicationInstance`. */ export class BootOptions { /** * Run in a full browser environment. */ isBrowser: boolean; /** * Disable rendering completely. */ shouldRender: boolean; /** * If present, render into the given `Document` object instead of the global `window.document` object. */ document: Document; /** * If present, overrides the application's `rootElement` property on the instance. This is useful for testing environment, where you might want to append the root view to a fixture area. */ rootElement: string|Element; /** * If present, overrides the router's `location` property with this value. This is useful for environments where trying to modify the URL would be inappropriate. */ location: string; } } export namespace Templates { export class helpers { /** * Concatenates input params together. */ concat(); /** * The `{{each-in}}` helper loops over properties on an object. It is unbound, in that new (or removed) properties added to the target object will not be rendered. */ 'each-in'(); /** * The `{{#each}}` helper loops over elements in a collection. It is an extension of the base Handlebars `{{#each}}` helper. */ each(); /** * Use the `{{hash}}` helper to create a hash to pass as an option to your components. This is specially useful for contextual components where you can just yield a hash: */ hash(options: {}): {}; /** * Use the `if` block helper to conditionally render a block depending on a property. If the property is "falsey", for example: `false`, `undefined`, `null`, `""`, `0`, `NaN` or an empty array, the block will not be rendered. */ if(); /** * The `unless` helper is the inverse of the `if` helper. Its block will be rendered if the expression contains a falsey value. All forms of the `if` helper can also be used with `unless`. */ unless(); /** * Calls [Ember.String.loc](/api/classes/Ember.String.html#method_loc) with the provided string. This is a convenient way to localize text within a template. For example: */ loc(str: string); /** * `log` allows you to output the value of variables in the current rendering context. `log` also accepts primitive types such as strings or numbers. */ log(values: any); /** * Use the `{{with}}` helper when you want to alias a property to a new name. This is helpful for semantic clarity as it allows you to retain default scope or to reference a property from another `{{with}}` block. */ with(options: {}): string; /** * DEPRECATED: Use `{{each}}` helper instead. * `{{collection}}` is a template helper for adding instances of `Ember.CollectionView` to a template. See [Ember.CollectionView](/api/classes/Ember.CollectionView.html) for additional information on how a `CollectionView` functions. */ collection(); /** * The `{{component}}` helper lets you add instances of `Ember.Component` to a template. See [Ember.Component](/api/classes/Ember.Component.html) for additional information on how a `Component` functions. `{{component}}`'s primary use is for cases where you want to dynamically change which type of component is rendered as the state of your application changes. The provided block will be applied as the template for the component. Given an empty `` the following template: */ component(); /** * Execute the `debugger` statement in the current template's context. */ debugger(); /** * Dynamically look up a property on an object. The second argument to `{{get}}` should have a string value, although it can be bound. */ get(); /** * The `{{input}}` helper lets you create an HTML `` component. It causes an `Ember.TextField` component to be rendered. For more info, see the [Ember.TextField](/api/classes/Ember.TextField.html) docs and the [templates guide](http://emberjs.com/guides/templates/input-helpers/). */ input(options: {}); /** * The `mut` helper lets you __clearly specify__ that a child `Component` can update the (mutable) value passed to it, which will __change the value of the parent component__. */ mut(attr: {}); /** * The `{{outlet}}` helper lets you specify where a child routes will render in your template. An important use of the `{{outlet}}` helper is in your application's `application.hbs` file: */ outlet(name: string); /** * The `partial` helper renders another template without changing the template context: */ partial(partialName: string); /** * `{{textarea}}` inserts a new instance of `