CursorViewState: ({
    cursorData: CursorData;
    cursorEnabled: true;
} | {
    cursorEnabled: false;
}) & ({
    lineData: ManipulateLineData;
    lineEnabled: true;
} | {
    lineEnabled: false;
})