import { Camera } from "./Camera";
import { Renderer } from "./Renderer";
import { Script } from "./Script";
import { Animator } from "./animation";
import { IUICanvas } from "./ui/IUICanvas";
/**
 * The manager of the components.
 */
export declare class ComponentsManager {
    private _onStartScripts;
    private _onUpdateScripts;
    private _onLateUpdateScripts;
    private _onPhysicsUpdateScripts;
    private _onUpdateAnimations;
    private _onUpdateRenderers;
    addCamera(camera: Camera): void;
    removeCamera(camera: Camera): void;
    sortCameras(): void;
    addRenderer(renderer: Renderer): void;
    removeRenderer(renderer: Renderer): void;
    addUICanvas(uiCanvas: IUICanvas, isOverlay: boolean): void;
    removeUICanvas(uiCanvas: IUICanvas, isOverlay: boolean): void;
    sortOverlayUICanvases(): void;
    addOnStartScript(script: Script): void;
    removeOnStartScript(script: Script): void;
    addOnUpdateScript(script: Script): void;
    removeOnUpdateScript(script: Script): void;
    addOnLateUpdateScript(script: Script): void;
    removeOnLateUpdateScript(script: Script): void;
    addOnPhysicsUpdateScript(script: Script): void;
    removeOnPhysicsUpdateScript(script: Script): void;
    addOnUpdateAnimations(animation: Animator): void;
    removeOnUpdateAnimations(animation: Animator): void;
    addOnUpdateRenderers(renderer: Renderer): void;
    removeOnUpdateRenderers(renderer: Renderer): void;
    callScriptOnStart(): void;
    callScriptOnUpdate(deltaTime: number): void;
    callScriptOnLateUpdate(deltaTime: number): void;
    callScriptOnPhysicsUpdate(): void;
    callAnimationUpdate(deltaTime: number): void;
    callRendererOnUpdate(deltaTime: number): void;
    callCameraOnBeginRender(camera: Camera): void;
    callCameraOnEndRender(camera: Camera): void;
}
