import { ActorEvaluatorGenerator } from '../../engine/nodes/js/code/assemblers/actor/ActorEvaluatorGenerator';
import { ActorFunctionData } from '../../engine/nodes/js/code/assemblers/actor/ActorPersistedConfig';
import { ActorBuilderNode } from '../../engine/scene/utils/ActorsManager';
import { Object3D } from 'three';
type OnCompilationCompletedHook = () => void;
export declare const ACTOR_COMPILATION_CONTROLLER_DUMMY_OBJECT_NAME = "ActorCompilationController-DUMMY";
export declare const ACTOR_COMPILATION_CONTROLLER_DUMMY_OBJECT: Object3D<import("three").Object3DEventMap>;
export declare class ActorCompilationController {
    protected node: ActorBuilderNode;
    constructor(node: ActorBuilderNode);
    compileIfRequired(): void;
    private _evaluatorGenerator;
    evaluatorGenerator(): ActorEvaluatorGenerator;
    private _functionData;
    functionData(): ActorFunctionData | undefined;
    private _resetFunctionData;
    updateFromFunctionData(functionData: ActorFunctionData): void;
    private _setEvaluatorGenerator;
    compile(): void;
    private _onCompilationCompletedCallbacks;
    addOnCompilationCompleted(callback: OnCompilationCompletedHook): void;
    removeOnCompilationCompleted(callback: OnCompilationCompletedHook): void;
    private _runOnCompilationCompletedCallbacks;
}
export {};
