import { Element_ } from '../../../../Class/Element';
import { Unit } from '../../../../Class/Unit';
import { System } from '../../../../system';
import { C } from '../../../../types/interface/C';
import { Component_ } from '../../../../types/interface/Component';
import { W } from '../../../../types/interface/W';
import { UnitBundle } from '../../../../types/UnitBundle';
export declare type I = {
    component: UnitBundle;
};
export declare type O = {
    parent: C;
};
export default class Wrap extends Element_<I, O> implements W {
    private _Container;
    private _child_container;
    private _parent_container;
    private _parent_child_container;
    constructor(system: System);
    private _rewrap;
    appendChild(Class: UnitBundle<Component_>): number;
    removeChild(at: number): Component_;
    registerParentRoot(component: Component_, slotName: string): void;
    unregisterParentRoot(component: Unit & C): void;
    appendParentChild(component: Component_, slotName: string): void;
    removeParentChild(component: Component_): void;
    refParentRootContainer(at: number): C;
    refChildContainer(at: number): C;
    refParentChildContainer(at: number): C;
}
