import ComponentModel from '../model/Component.mjs';
import ComponentView from '../view/Component.mjs';
import SeriesModel from '../model/Series.mjs';
import ChartView from '../view/Chart.mjs';
export { default as List } from '../data/SeriesData.mjs';
import * as zrender from '../../../../../zrender@6.0.0/node_modules/zrender/lib/zrender.mjs';
export { zrender };
import * as matrix from '../../../../../zrender@6.0.0/node_modules/zrender/lib/core/matrix.mjs';
export { matrix };
import * as vector from '../../../../../zrender@6.0.0/node_modules/zrender/lib/core/vector.mjs';
export { vector };
import * as util from '../../../../../zrender@6.0.0/node_modules/zrender/lib/core/util.mjs';
export { util as zrUtil };
import * as color from '../../../../../zrender@6.0.0/node_modules/zrender/lib/tool/color.mjs';
export { color };
export { throttle } from '../util/throttle.mjs';
import * as helper from './api/helper.mjs';
export { helper };
export { use } from '../extension.mjs';
export { setPlatformAPI } from '../../../../../zrender@6.0.0/node_modules/zrender/lib/core/platform.mjs';
export { default as parseGeoJSON, default as parseGeoJson } from '../coord/geo/parseGeoJson.mjs';
import * as number from './api/number.mjs';
export { number };
import * as time from './api/time.mjs';
export { time };
import * as graphic from './api/graphic.mjs';
export { graphic };
import * as format from './api/format.mjs';
export { format };
import * as util$1 from './api/util.mjs';
export { util$1 as util };
export { default as env } from '../../../../../zrender@6.0.0/node_modules/zrender/lib/core/env.mjs';
export { default as Model } from '../model/Model.mjs';
export { default as Axis } from '../coord/Axis.mjs';
export { brushSingle as innerDrawElementOnCanvas } from '../../../../../zrender@6.0.0/node_modules/zrender/lib/canvas/graphic.mjs';

// --------------------- Deprecated Extension Methods ---------------------
// Should use `ComponentModel.extend` or `class XXXX extend ComponentModel` to create class.
// Then use `registerComponentModel` in `install` parameter when `use` this extension. For example:
// class Bar3DModel extends ComponentModel {}
// export function install(registers) { registers.registerComponentModel(Bar3DModel); }
// echarts.use(install);
function extendComponentModel(proto) {
  var Model = ComponentModel.extend(proto);
  ComponentModel.registerClass(Model);
  return Model;
}
function extendComponentView(proto) {
  var View = ComponentView.extend(proto);
  ComponentView.registerClass(View);
  return View;
}
function extendSeriesModel(proto) {
  var Model = SeriesModel.extend(proto);
  SeriesModel.registerClass(Model);
  return Model;
}
function extendChartView(proto) {
  var View = ChartView.extend(proto);
  ChartView.registerClass(View);
  return View;
}

export { ChartView, ComponentModel, ComponentView, SeriesModel, extendChartView, extendComponentModel, extendComponentView, extendSeriesModel };
