text: var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
      if (typeof Reflect === "object" && typeof Reflect.decorate === "function") return Reflect.decorate(decorators, target, key, desc);
      switch (arguments.length) {
          case 2: return decorators.reduceRight(function(o, d) { return (d && d(o)) || o; }, target);
          case 3: return decorators.reduceRight(function(o, d) { return (d && d(target, key)), void 0; }, void 0);
          case 4: return decorators.reduceRight(function(o, d) { return (d && d(target, key, o)) || o; }, desc);
      }
  };
  var __metadata = (this && this.__metadata) || function (k, v) {
      if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
  };
  import { CONST } from 'angular2/src/core/facade/lang';
  /**
   * Defines template and style encapsulation options available for Component's {@link View}.
   *
   * See {@link ViewMetadata#encapsulation}.
   */
  export var ViewEncapsulation;
  (function (ViewEncapsulation) {
      /**
       * Emulate `Native` scoping of styles by adding an attribute containing surrogate id to the Host
       * Element and pre-processing the style rules provided via
       * {@link ViewMetadata#styles} or {@link ViewMetadata#stylesUrls}, and adding the new Host Element
       * attribute to all selectors.
       *
       * This is the default option.
       */
      ViewEncapsulation[ViewEncapsulation["Emulated"] = 0] = "Emulated";
      /**
       * Use the native encapsulation mechanism of the renderer.
       *
       * For the DOM this means using [Shadow DOM](https://w3c.github.io/webcomponents/spec/shadow/) and
       * creating a ShadowRoot for Component's Host Element.
       */
      ViewEncapsulation[ViewEncapsulation["Native"] = 1] = "Native";
      /**
       * Don't provide any template or style encapsulation.
       */
      ViewEncapsulation[ViewEncapsulation["None"] = 2] = "None";
  })(ViewEncapsulation || (ViewEncapsulation = {}));
  export var VIEW_ENCAPSULATION_VALUES = [ViewEncapsulation.Emulated, ViewEncapsulation.Native, ViewEncapsulation.None];
  /**
   * Metadata properties available for configuring Views.
   *
   * Each Angular component requires a single `@Component` and at least one `@View` annotation. The
   * `@View` annotation specifies the HTML template to use, and lists the directives that are active
   * within the template.
   *
   * When a component is instantiated, the template is loaded into the component's shadow root, and
   * the expressions and statements in the template are evaluated against the component.
   *
   * For details on the `@Component` annotation, see {@link ComponentMetadata}.
   *
   * ## Example
   *
   * ```
   * @Component({
   *   selector: 'greet',
   *   template: 'Hello {{name}}!',
   *   directives: [GreetUser, Bold]
   * })
   * class Greet {
   *   name: string;
   *
   *   constructor() {
   *     this.name = 'World';
   *   }
   * }
   * ```
   */
  export let ViewMetadata = class {
      constructor({ templateUrl, template, directives, pipes, encapsulation, styles, styleUrls } = {}) {
          this.templateUrl = templateUrl;
          this.template = template;
          this.styleUrls = styleUrls;
          this.styles = styles;
          this.directives = directives;
          this.pipes = pipes;
          this.encapsulation = encapsulation;
      }
  };
  ViewMetadata = __decorate([
      CONST(), 
      __metadata('design:paramtypes', [Object])
  ], ViewMetadata);
  //# sourceMappingURL=view.js.map