text: //// [declarationEmitDestructuringParameterProperties.ts]
  class C1 {
      constructor(public [x, y, z]: string[]) {
      }
  }
  
  type TupleType1 =[string, number, boolean];
  class C2 {
      constructor(public [x, y, z]: TupleType1) {
      }
  }
  
  type ObjType1 = { x: number; y: string; z: boolean }
  class C3 {
      constructor(public { x, y, z }: ObjType1) {
      }
  }
  
  //// [declarationEmitDestructuringParameterProperties.js]
  var C1 = /** @class */ (function () {
      function C1(_a) {
          var x = _a[0], y = _a[1], z = _a[2];
      }
      return C1;
  }());
  var C2 = /** @class */ (function () {
      function C2(_a) {
          var x = _a[0], y = _a[1], z = _a[2];
      }
      return C2;
  }());
  var C3 = /** @class */ (function () {
      function C3(_a) {
          var x = _a.x, y = _a.y, z = _a.z;
      }
      return C3;
  }());
  
  
  //// [declarationEmitDestructuringParameterProperties.d.ts]
  declare class C1 {
      x: string, y: string, z: string;
      constructor([x, y, z]: string[]);
  }
  declare type TupleType1 = [string, number, boolean];
  declare class C2 {
      x: string, y: number, z: boolean;
      constructor([x, y, z]: TupleType1);
  }
  declare type ObjType1 = {
      x: number;
      y: string;
      z: boolean;
  };
  declare class C3 {
      x: number, y: string, z: boolean;
      constructor({x, y, z}: ObjType1);
  }
  