import { OperationInputsController } from '../InputsController';
import { InputCloneMode } from '../../../../../engine/poly/InputCloneMode';
import { NodeContext } from '../../../../poly/NodeContext';
export declare class ClonedStatesController<NC extends NodeContext> {
    protected inputs_controller: OperationInputsController<NC>;
    private _cloned_states;
    private _cloned_state;
    private _clone_required_states;
    private _overridden;
    constructor(inputs_controller: OperationInputsController<NC>);
    initInputsClonedState(states: InputCloneMode | InputCloneMode[]): void;
    override_cloned_state_allowed(): boolean;
    clone_required_state(index: number): boolean;
    clone_required_states(): boolean | boolean[];
    private _get_clone_required_state;
    private clone_required_from_state;
    override_cloned_state(state: boolean): void;
    overriden(): boolean;
    private _update_clone_required_state;
}
