class ViewCompositionStartEvent {
  constructor() {
    this.type = 0;
  }
}
class ViewCompositionEndEvent {
  constructor() {
    this.type = 1;
  }
}
class ViewConfigurationChangedEvent {
  constructor(source) {
    this.type = 2;
    this._source = source;
  }
  hasChanged(id) {
    return this._source.hasChanged(id);
  }
}
class ViewCursorStateChangedEvent {
  constructor(selections, modelSelections) {
    this.type = 3;
    this.selections = selections;
    this.modelSelections = modelSelections;
  }
}
class ViewDecorationsChangedEvent {
  constructor(source) {
    this.type = 4;
    if (source) {
      this.affectsMinimap = source.affectsMinimap;
      this.affectsOverviewRuler = source.affectsOverviewRuler;
    } else {
      this.affectsMinimap = true;
      this.affectsOverviewRuler = true;
    }
  }
}
class ViewFlushedEvent {
  constructor() {
    this.type = 5;
  }
}
class ViewFocusChangedEvent {
  constructor(isFocused) {
    this.type = 6;
    this.isFocused = isFocused;
  }
}
class ViewLanguageConfigurationEvent {
  constructor() {
    this.type = 7;
  }
}
class ViewLineMappingChangedEvent {
  constructor() {
    this.type = 8;
  }
}
class ViewLinesChangedEvent {
  constructor(fromLineNumber, toLineNumber) {
    this.type = 9;
    this.fromLineNumber = fromLineNumber;
    this.toLineNumber = toLineNumber;
  }
}
class ViewLinesDeletedEvent {
  constructor(fromLineNumber, toLineNumber) {
    this.type = 10;
    this.fromLineNumber = fromLineNumber;
    this.toLineNumber = toLineNumber;
  }
}
class ViewLinesInsertedEvent {
  constructor(fromLineNumber, toLineNumber) {
    this.type = 11;
    this.fromLineNumber = fromLineNumber;
    this.toLineNumber = toLineNumber;
  }
}
class ViewRevealRangeRequestEvent {
  constructor(source, minimalReveal, range, selections, verticalType, revealHorizontal, scrollType) {
    this.source = source;
    this.minimalReveal = minimalReveal;
    this.range = range;
    this.selections = selections;
    this.verticalType = verticalType;
    this.revealHorizontal = revealHorizontal;
    this.scrollType = scrollType;
    this.type = 12;
  }
}
class ViewScrollChangedEvent {
  constructor(source) {
    this.type = 13;
    this.scrollWidth = source.scrollWidth;
    this.scrollLeft = source.scrollLeft;
    this.scrollHeight = source.scrollHeight;
    this.scrollTop = source.scrollTop;
    this.scrollWidthChanged = source.scrollWidthChanged;
    this.scrollLeftChanged = source.scrollLeftChanged;
    this.scrollHeightChanged = source.scrollHeightChanged;
    this.scrollTopChanged = source.scrollTopChanged;
  }
}
class ViewThemeChangedEvent {
  constructor(theme) {
    this.theme = theme;
    this.type = 14;
  }
}
class ViewTokensChangedEvent {
  constructor(ranges) {
    this.type = 15;
    this.ranges = ranges;
  }
}
class ViewTokensColorsChangedEvent {
  constructor() {
    this.type = 16;
  }
}
class ViewZonesChangedEvent {
  constructor() {
    this.type = 17;
  }
}
export {
  ViewCompositionEndEvent,
  ViewCompositionStartEvent,
  ViewConfigurationChangedEvent,
  ViewCursorStateChangedEvent,
  ViewDecorationsChangedEvent,
  ViewFlushedEvent,
  ViewFocusChangedEvent,
  ViewLanguageConfigurationEvent,
  ViewLineMappingChangedEvent,
  ViewLinesChangedEvent,
  ViewLinesDeletedEvent,
  ViewLinesInsertedEvent,
  ViewRevealRangeRequestEvent,
  ViewScrollChangedEvent,
  ViewThemeChangedEvent,
  ViewTokensChangedEvent,
  ViewTokensColorsChangedEvent,
  ViewZonesChangedEvent
};
