import { Dict } from '../types/Dict';
import { AnimationSpec } from '../types/interface/C';
import { Component_ } from '../types/interface/Component';
import { UnitBundle } from '../types/UnitBundle';
import { Unlisten } from '../types/Unlisten';
export declare function appendChild(component: Component_, children: Component_[], Class: UnitBundle<Component_>): number;
export declare function instanceChild(component: any, Class: UnitBundle<Component_>): Component_;
export declare function pushChild(component: Component_, children: Component_[], Class: UnitBundle<Component_>): number;
export declare function insertChild(component: Component_, children: Component_[], Class: UnitBundle<Component_>, at: number): void;
export declare function hasChild(element: Component_, children: Component_[], at: number): boolean;
export declare function pullChild(element: Component_, children: Component_[], at: number): Component_;
export declare function removeChild(element: Component_, children: Component_[], at: number): Component_;
export declare function refChild(element: Component_, children: Component_[], at: number): Component_;
export declare function refChildren(element: Component_, children: Component_[]): Component_[];
export declare function refSlot(element: Component_, slotName: string, slot: Dict<Component_>): Component_;
export declare function registerParentRoot(component: Component_, parentRoot: Component_[], child: Component_, slotName: string, at?: number): void;
export declare function unregisterParentRoot(component: Component_, parentRoot: Component_[], child: Component_): void;
export declare function reorderRoot(component: Component_, root: Component_[], child: Component_, to: number): void;
export declare function reorderParentRoot(component: Component_, parentRoot: Component_[], child: Component_, to: number): void;
export declare function unregisterRoot(component: Component_, root: Component_[], child: Component_): void;
export declare function registerRoot(component: Component_, root: Component_[], child: Component_): void;
export declare function appendParentChild(component: Component_, parentChild: Component_[], child: Component_, slotName: string): void;
export declare function removeParentChild(component: Component_, parentRoot: Component_[], child: Component_): void;
export declare function animate(component: Component_, animations: AnimationSpec[], keyframes: Keyframe[], opt: KeyframeAnimationOptions): void;
export declare function cancelAnimation(component: Component_, animations: AnimationSpec[], id: string): void;
export declare function stopPropagation(component: Component_, stopPropagationCount: Dict<number>, name: string): Unlisten;
