import IComponent from "./IComponent";
import IManagedComponent from "./IManagedComponent";
import { IComponentContainer } from "./IComponentDataItem";
import IProperty from "../dataform/IProperty";
export declare class ManagedComponent implements IManagedComponent {
    private _data;
    private _parent;
    private _uniqueId;
    id: string;
    private _onPropertyChanged;
    get onPropertyChanged(): import("ste-events").IEvent<ManagedComponent, string>;
    constructor(parent: IComponentContainer, id: string, data: IComponent | string | string[] | boolean | number[] | number | undefined);
    getData(): string | number | boolean | string[] | number[] | IComponent;
    getBaseValue(): string | number | boolean | string[] | number[] | IComponent;
    setData(newData: IComponent | string | string[] | boolean | number[] | number | undefined): void;
    setBaseValue(value: any): void;
    handlePropertyChanged(props: any, property: IProperty, newValue: any, updatedObject?: object | undefined): void;
    getProperty(id: string): any;
    setProperty(propertyId: string, value: any): void;
}
