import * as Data from "../Data/Interfaces.js";
import { default as BaseModel, IBaseModelOptions } from "./BaseModel.js";
import FeatureModel from "./FeatureModel.js";
import SetModel from "./SetModel.js";
import { default as EditorModel } from "./EditorModel.js";
import { default as ErrorModel } from "./ErrorModel.js";
import { GroupEnvironment } from "../Environment/GroupEnvironment.js";
import { GlobalEnvironment } from "../Environment/GlobalEnvironment.js";
export interface IGroupModelOptions extends IBaseModelOptions {
    parent: SetModel;
    data: Data.IGroupData;
}
export default class GroupModel extends BaseModel {
    private m_errors;
    private m_index;
    private m_parent;
    private m_features;
    private m_environment;
    constructor(options: IGroupModelOptions);
    get locals(): GroupEnvironment;
    get globals(): GlobalEnvironment;
    get isMicro(): boolean;
    get assembler(): string;
    get features(): Array<FeatureModel>;
    get id(): string;
    get name(): string;
    get parent(): SetModel;
    get index(): number;
    get errors(): Array<ErrorModel>;
    getEditors(): Array<EditorModel>;
    setErrors(): void;
    toJSON(): Data.IGroupData;
    private getIndex;
}
