import { IBitmapDrawable } from "./IBitmapDrawable";
import { Stage } from "./Stage";
import { DisplayObjectContainer } from "./DisplayObjectContainer";
import { LoaderInfo } from "./LoaderInfo";
import { AEvent } from "../events/AEvent";
import { EventDispatcher } from "../events/EventDispatcher";
import { MouseEvent } from "../events/MouseEvent";
import { Point } from "../geom/Point";
import { Rectangle } from "../geom/Rectangle";
import { Transform } from "../geom/Transform";
import { Vector3D } from "../geom/Vector3D";
import { BitmapFilter, BlurFilter } from "../filters";
import { Canvas, Paint } from "canvaskit-wasm";
export declare class DisplayObject extends EventDispatcher implements IBitmapDrawable {
    static _globalStage: Stage;
    private _stage;
    private _inited;
    protected _root: DisplayObject;
    _off: boolean;
    private static ID;
    innerID: number;
    private _name;
    private _rotation;
    private rsin;
    private rcos;
    transform: Transform;
    _parent: DisplayObjectContainer;
    private _mask;
    private _visible;
    private _mouseEnabled;
    private _doubleClickEnabled;
    private lastMouseOverObj;
    private _blendMode;
    private _opaqueBackground;
    private _clearColor;
    protected _cacheAsBitmap: boolean;
    protected _parentCached: boolean;
    private _loaderInfo;
    private _filters;
    protected _filterOffsetX: number;
    protected _filterOffsetY: number;
    protected _blurFilter: BlurFilter;
    private offscreenCanvas;
    private ocCTX;
    constructor();
    initDisplayObjectStage: () => void;
    static set initStage(value: Stage);
    get stage(): Stage;
    set stage(v: Stage);
    get loaderInfo(): LoaderInfo;
    get root(): DisplayObject;
    get name(): string;
    set name(v: string);
    get parent(): DisplayObjectContainer;
    get mask(): DisplayObject;
    set mask(v: DisplayObject);
    get visible(): boolean;
    set visible(v: boolean);
    get x(): number;
    set x(v: number);
    get y(): number;
    set y(v: number);
    get z(): number;
    set z(v: number);
    get scaleX(): number;
    set scaleX(v: number);
    get scaleY(): number;
    set scaleY(v: number);
    get scaleZ(): number;
    set scaleZ(v: number);
    get mouseX(): number;
    get mouseY(): number;
    get rotation(): number;
    set rotation(v: number);
    get rotationX(): number;
    set rotationX(v: number);
    get rotationY(): number;
    set rotationY(v: number);
    get rotationZ(): number;
    set rotationZ(v: number);
    updateTransforms(): void;
    get alpha(): number;
    set alpha(v: number);
    get width(): number;
    set width(v: number);
    get height(): number;
    set height(v: number);
    get cacheAsBitmap(): boolean;
    set cacheAsBitmap(v: boolean);
    get opaqueBackground(): number;
    set opaqueBackground(v: number);
    get scrollRect(): Rectangle;
    set scrollRect(v: Rectangle);
    get filters(): any[];
    set filters(v: any[]);
    get blendMode(): string;
    set blendMode(v: string);
    get scale9Grid(): Rectangle;
    set scale9Grid(v: Rectangle);
    globalToLocal: (v: Point) => Point;
    localToGlobal: (v: Point) => Point;
    getBounds(v: DisplayObject): Rectangle;
    /**
     * Use to provide proper bounds when object is rotated, scaled, or has filters applied.  Mainly used for cacheAsBitmap.
     * @param	v	DisplayObject to get bounds from.
     * @return		Rectangle of bounds
     */
    getFullBounds: (v: DisplayObject) => Rectangle;
    getRect(v: DisplayObject): Rectangle;
    hitTestObject: (obj: DisplayObject) => boolean;
    hitTestPoint: (x: number, y: number, shapeFlag?: boolean) => boolean;
    globalToLocal3D: (param1: Point) => Vector3D;
    local3DToGlobal: (param1: Vector3D) => Point;
    get metaData(): Object;
    set metaData(param1: Object);
    get parentCached(): boolean;
    get filterOffsetX(): number;
    get filterOffsetY(): number;
    protected ApplyFilters: (ctx: Canvas, paint: Paint) => void;
    __update(ctx: Canvas, offsetX?: number, offsetY?: number, filters?: BitmapFilter[]): void;
    private __enterFrame;
    private __mouseevent;
    protected __doMouse(e: MouseEvent): DisplayObject;
    dispatchEvent: (event: AEvent) => boolean;
    get tabEnabled(): boolean;
    set tabEnabled(param1: boolean);
    get tabIndex(): number;
    set tabIndex(param1: number);
    get focusRect(): Object;
    set focusRect(param1: Object);
    get mouseEnabled(): boolean;
    set mouseEnabled(v: boolean);
    get doubleClickEnabled(): boolean;
    set doubleClickEnabled(v: boolean);
    get softKeyboardInputAreaOfInterest(): Rectangle;
    set softKeyboardInputAreaOfInterest(param1: Rectangle);
    get needsSoftKeyboard(): boolean;
    set needsSoftKeyboard(param1: boolean);
    requestSoftKeyboard(): boolean;
}
