import { DisplayObject } from "./DisplayObject";
import { MouseEvent } from "../events/MouseEvent";
import { Point } from "../geom/Point";
import { Rectangle } from "../geom/Rectangle";
import { Canvas } from "canvaskit-wasm";
import { BitmapFilter } from "../filters/BitmapFilter";
export declare class DisplayObjectContainer extends DisplayObject {
    protected children: DisplayObject[];
    protected _childrenCached: boolean;
    private _mouseChildren;
    hasFills: boolean;
    hasStrokes: boolean;
    constructor();
    addChild: (child: DisplayObject) => DisplayObject;
    addChildAt: (child: DisplayObject, index: number) => DisplayObject;
    removeChild: (child: DisplayObject) => DisplayObject;
    removeChildAt: (i: number) => DisplayObject;
    private updateChildrenRemovedFromStage;
    getChildIndex: (child: DisplayObject) => number;
    setChildIndex: (child: DisplayObject, index: number) => void;
    getChildAt: (index: number) => DisplayObject;
    getChildByName: (name: string) => DisplayObject;
    get numChildren(): number;
    getObjectsUnderPoint: (p: Point) => any[];
    areInaccessibleObjectsUnderPoint: (p: Point) => boolean;
    get tabChildren(): boolean;
    set tabChildren(v: boolean);
    get mouseChildren(): boolean;
    set mouseChildren(v: boolean);
    contains: (child: DisplayObject) => boolean;
    swapChildrenAt: (i1: number, i2: number) => void;
    swapChildren: (c1: DisplayObject, c2: DisplayObject) => void;
    removeChildren: (start?: number, len?: number) => void;
    stopAllMovieClips: () => void;
    __update(ctx: Canvas, offsetX?: number, offsetY?: number, filters?: BitmapFilter[]): void;
    updateTransforms: () => void;
    protected __doMouse(e: MouseEvent): DisplayObject;
    getBounds: (v: DisplayObject) => Rectangle;
    getRect: (v: DisplayObject) => Rectangle;
    getFullBounds: (v: DisplayObject) => Rectangle;
    hitTestPoint: (x: number, y: number, shapeFlag?: boolean) => boolean;
    hitTestObject: (obj: DisplayObject) => boolean;
    __containsNestedChild: (child: DisplayObject) => boolean;
}
