function OptionManager(api) {

    /**
     * @private
     * @type {module:echarts/ExtensionAPI}
     */
    this._api = api;

    /**
     * @private
     * @type {Array.<number>}
     */
    this._timelineOptions = [];

    /**
     * @private
     * @type {Array.<Object>}
     */
    this._mediaList = [];

    /**
     * @private
     * @type {Object}
     */
    this._mediaDefault;

    /**
     * -1, means default.
     * empty means no media.
     * @private
     * @type {Array.<number>}
     */
    this._currentMediaIndices = [];

    /**
     * @private
     * @type {Object}
     */
    this._optionBackup;

    /**
     * @private
     * @type {Object}
     */
    this._newBaseOption;
}
function OptionManager(api) {

    /**
     * @private
     * @type {module:echarts/ExtensionAPI}
     */
    this._api = api;

    /**
     * @private
     * @type {Array.<number>}
     */
    this._timelineOptions = [];

    /**
     * @private
     * @type {Array.<Object>}
     */
    this._mediaList = [];

    /**
     * @private
     * @type {Object}
     */
    this._mediaDefault;

    /**
     * -1, means default.
     * empty means no media.
     * @private
     * @type {Array.<number>}
     */
    this._currentMediaIndices = [];

    /**
     * @private
     * @type {Object}
     */
    this._optionBackup;

    /**
     * @private
     * @type {Object}
     */
    this._newBaseOption;
}
function OptionManager ( api ) { /**
     * @private
     * @type {module:echarts/ExtensionAPI}
     */ this . _api = api ; /**
     * @private
     * @type {Array.<number>}
     */ this . _timelineOptions = [ ] ; /**
     * @private
     * @type {Array.<Object>}
     */ this . _mediaList = [ ] ; /**
     * @private
     * @type {Object}
     */ this . _mediaDefault ; /**
     * -1, means default.
     * empty means no media.
     * @private
     * @type {Array.<number>}
     */ this . _currentMediaIndices = [ ] ; /**
     * @private
     * @type {Object}
     */ this . _optionBackup ; /**
     * @private
     * @type {Object}
     */ this . _newBaseOption ; }
TERM EXPLANATIONS:

[option]:

An object that contains definitions of components. For example:
var option = {
title: {...},
legend: {...},
visualMap: {...},
series: [
{data: [...]},
{data: [...]},
...
]
};

[rawOption]:

An object input to echarts.setOption. 'rawOption' may be an
'option', or may be an object contains multi-options. For example:
var option = {
baseOption: {
title: {...},
legend: {...},
series: [
{data: [...]},
{data: [...]},
...
]
},
timeline: {...},
options: [
{title: {...}, series: {data: [...]}},
{title: {...}, series: {data: [...]}},
...
],
media: [
{
query: {maxWidth: 320},
option: {series: {x: 20}, visualMap: {show: false}}
},
{
query: {minWidth: 320, maxWidth: 720},
option: {series: {x: 500}, visualMap: {show: true}}
},
{
option: {series: {x: 1200}, visualMap: {show: true}}
}
]
};

@alias module:echarts/model/OptionManager
@param {module:echarts/ExtensionAPI} api
TERM EXPLANATIONS :
The OptionManager constructor.