/**
 * Abstract base class
 */
export class CompositeBehavior extends Behavior<any> {
    constructor();
    /**
     *
     * @type {Behavior[]}
     * @protected
     */
    protected __children: Behavior<any>[];
    /**
     *
     * @param {Behavior} child
     */
    addChild(child: Behavior<any>): void;
    /**
     *
     * @param {Behavior[]} children
     */
    addChildren(children: Behavior<any>[]): void;
    /**
     * Do not modify directly. Use {@link addChild} and {@link removeChild} instead
     * @return {Behavior[]}
     */
    get children(): Behavior<any>[];
    /**
     * @deprecated use {@link children} accessor instead
     * @return {Behavior[]}
     */
    getChildren(): Behavior<any>[];
    /**
     *
     * @param {Behavior} child
     * @returns {boolean}
     */
    removeChild(child: Behavior<any>): boolean;
    clearChildren(): void;
    /**
     * @readonly
     * @type {boolean}
     */
    readonly isCompositeBehavior: boolean;
}
import { Behavior } from "../Behavior.js";
//# sourceMappingURL=CompositeBehavior.d.ts.map