import { ManagedComponent } from "./ManagedComponent";
import IComponentGroup from "./IComponentGroup";
import IManagedComponentSetItem from "./IManagedComponentSetItem";
import IManagedComponent from "./IManagedComponent";
import IComponent from "./IComponent";
export default class ManagedComponentGroup implements IManagedComponentSetItem {
    _data?: IComponentGroup;
    _managed?: {
        [id: string]: IManagedComponent | undefined;
    };
    id: string;
    private _onComponentAdded;
    private _onComponentRemoved;
    private _onComponentChanged;
    constructor(data: IComponentGroup, id: string);
    getData(): IComponentGroup;
    get onComponentAdded(): import("ste-events").IEvent<ManagedComponentGroup, IManagedComponent>;
    get onComponentRemoved(): import("ste-events").IEvent<ManagedComponentGroup, string>;
    get onComponentChanged(): import("ste-events").IEvent<ManagedComponentGroup, IManagedComponent>;
    addComponent(id: string, componentOrData: ManagedComponent | IComponent | string | string[] | boolean | number[] | number | undefined): IManagedComponent;
    removeComponent(id: string): void;
    getComponent(id: string): IManagedComponent | undefined;
    getAllComponents(): IManagedComponent[];
    getComponents(): IManagedComponent[];
    notifyComponentUpdated(id: string): void;
}
