import { BaseItem } from "./BaseItem";
import { Container } from "../Container";
import { ManipulationPermissions } from "./ManipulationPermissions";
import { VisualizationPermissions } from "./VisualizationPermissions";
import { ItemPermissions } from "./ItemPermissions";
import { FrontendPermissions } from "./FrontEndPermissions";
import { EventObject, EventWithAutoSenderArg } from "../../EventObject";
import { Transform } from "../../Math/Transform";
import { Color } from "../../Colors";
import { WrappingMode } from "./WrappingMode";
import { ThemeBinding } from "./ThemeBinding";
import { IProductThemeConfig } from "../Interfaces";
import { RenderingType } from "../RenderingType";
import { BlendMode } from "./BlendMode";
import { ItemMask } from "../ItemMask";
import { GroupItem } from "./GroupItem";
import { ViolationSettings } from "./ViolationSettings";
export declare class Item extends BaseItem {
    private _visible;
    private _locked;
    private _opacity;
    private _fromLayout;
    private _textWrappingMode;
    private _isVariable;
    private _blendMode;
    protected _ignorePermissionsChange: boolean;
    private _manipulationPermissions;
    private _visualizationPermissions;
    private _itemPermissions;
    private _frontendPermissions;
    private _transform;
    private _mask;
    protected _violationSettings: ViolationSettings;
    private _class;
    constructor();
    protected _copy(source: Item, destination: Item, generateNewIds: boolean, appropriateParentContainer: boolean): void;
    equals(other: Item): any;
    get class(): string;
    set class(value: string);
    containerName: string;
    get manipulationPermissions(): ManipulationPermissions;
    set manipulationPermissions(value: ManipulationPermissions);
    protected getManipulationPermissions(): ManipulationPermissions;
    protected setManipulationPermissions(value: any): void;
    get visualizationPermissions(): VisualizationPermissions;
    set visualizationPermissions(value: VisualizationPermissions);
    get itemPermissions(): ItemPermissions;
    set itemPermissions(value: ItemPermissions);
    get frontendPermissions(): FrontendPermissions;
    set frontendPermissions(value: FrontendPermissions);
    get violationSettings(): ViolationSettings;
    set violationSettings(value: ViolationSettings);
    protected _setViolationSettings(value: ViolationSettings, skipTypeCheck?: boolean): void;
    protected _onPermissionsChanged: () => void;
    applyPermissionsConstrain(): void;
    protected _onContainerChanged(): void;
    private _parentGroupItem;
    get parentGroupItem(): GroupItem;
    set parentGroupItem(value: GroupItem);
    themeBinding: ThemeBinding;
    get blendMode(): BlendMode;
    set blendMode(value: BlendMode);
    get transform(): Transform;
    set transform(value: Transform);
    setTransform(value: Transform, suppressOnChanged?: boolean): void;
    private _onTransformChanged;
    get textWrappingMode(): WrappingMode;
    set textWrappingMode(value: WrappingMode);
    get locked(): boolean;
    set locked(value: boolean);
    get mask(): ItemMask;
    set mask(value: ItemMask);
    private _onMaskChanged;
    get visible(): boolean;
    set visible(value: boolean);
    get opacity(): number;
    set opacity(value: number);
    get isVariable(): boolean;
    set isVariable(value: boolean);
    get fromLayout(): boolean;
    set fromLayout(value: boolean);
    canSetIsVariable(): boolean;
    protected _canSetIsVariable(): boolean;
    private _changedEvent;
    private _changingEvent;
    protected _getParentContainer(): Container;
    static type: string;
    type: string;
    getSimplifiedObject(omitProperties?: string[] | string): Object;
    getItemChangedEvent(): EventWithAutoSenderArg<Item, Item>;
    getItemChangingEvent(): EventObject<Item>;
    protected _getThemeBinding(themeBinding: ThemeBinding): ThemeBinding;
    protected _applyThemeColor(colorName: string, theme: IProductThemeConfig, updateFunc: (color: Color) => void): boolean;
    get isRenderTypeIsNormal(): boolean;
    get renderingType(): RenderingType.Normal | RenderingType;
}
