• Returns {
        addControl: <T>(
            params: ControlParams<T>,
        ) => {
            onChange: (callback: OnControlChangeCallback<T>) => void;
            remove: () => void;
            get params(): ControlParams<T>;
            set params(params: ControlParams<T>): void;
            get value(): T | (boolean & T);
            set value(newValue: T | (boolean & T)): void;
        };
        get controls(): ControlParams<unknown>[];
    }