import { AreaStyleMixin } from './mixin/areaStyle.js';
|
import TextStyleMixin from './mixin/textStyle.js';
|
import { LineStyleMixin } from './mixin/lineStyle.js';
|
import { ItemStyleMixin } from './mixin/itemStyle.js';
|
import GlobalModel from './Global.js';
|
import { ModelOption } from '../util/types.js';
|
interface Model<Opt = ModelOption> extends LineStyleMixin, ItemStyleMixin, TextStyleMixin, AreaStyleMixin {
|
}
|
declare class Model<Opt = ModelOption> {
|
parentModel: Model;
|
ecModel: GlobalModel;
|
option: Opt;
|
constructor(option?: Opt, parentModel?: Model, ecModel?: GlobalModel);
|
init(option: Opt, parentModel?: Model, ecModel?: GlobalModel, ...rest: any): void;
|
/**
|
* Merge the input option to me.
|
*/
|
mergeOption(option: Opt, ecModel?: GlobalModel): void;
|
get<R extends keyof Opt>(path: R, ignoreParent?: boolean): Opt[R];
|
get<R extends keyof Opt>(path: readonly [R], ignoreParent?: boolean): Opt[R];
|
get<R extends keyof Opt, S extends keyof Opt[R]>(path: readonly [R, S], ignoreParent?: boolean): Opt[R][S];
|
get<R extends keyof Opt, S extends keyof Opt[R], T extends keyof Opt[R][S]>(path: readonly [R, S, T], ignoreParent?: boolean): Opt[R][S][T];
|
getShallow<R extends keyof Opt>(key: R, ignoreParent?: boolean): Opt[R];
|
getModel<R extends keyof Opt>(path: R, parentModel?: Model): Model<Opt[R]>;
|
getModel<R extends keyof Opt>(path: readonly [R], parentModel?: Model): Model<Opt[R]>;
|
getModel<R extends keyof Opt, S extends keyof Opt[R]>(path: readonly [R, S], parentModel?: Model): Model<Opt[R][S]>;
|
getModel<Ra extends keyof Opt, Rb extends keyof Opt, S extends keyof Opt[Rb]>(path: readonly [Ra] | readonly [Rb, S], parentModel?: Model): Model<Opt[Ra]> | Model<Opt[Rb][S]>;
|
getModel<R extends keyof Opt, S extends keyof Opt[R], T extends keyof Opt[R][S]>(path: readonly [R, S, T], parentModel?: Model): Model<Opt[R][S][T]>;
|
/**
|
* If model has option
|
*/
|
isEmpty(): boolean;
|
restoreData(): void;
|
clone(): Model<Opt>;
|
parsePath(path: string | readonly string[]): readonly string[];
|
resolveParentPath(path: readonly string[]): string[];
|
isAnimationEnabled(): boolean;
|
private _doGet;
|
}
|
export default Model;
|