Read more on MDN
let addRange: (WebAPI.DOMAPI.selection, WebAPI.DOMAPI.range) => unit
let collapse: ( WebAPI.DOMAPI.selection, ~node: WebAPI.DOMAPI.node, ~offset: int=?,) => unit
let collapseToEnd: WebAPI.DOMAPI.selection => unit
let collapseToStart: WebAPI.DOMAPI.selection => unit
let containsNode: ( WebAPI.DOMAPI.selection, ~node: WebAPI.DOMAPI.node, ~allowPartialContainment: bool=?,) => bool
let deleteFromDocument: WebAPI.DOMAPI.selection => unit
let empty: WebAPI.DOMAPI.selection => unit
let extend: ( WebAPI.DOMAPI.selection, ~node: WebAPI.DOMAPI.node, ~offset: int=?,) => unit
let getRangeAt: (WebAPI.DOMAPI.selection, int) => WebAPI.DOMAPI.range
let modify: ( WebAPI.DOMAPI.selection, ~alter: string=?, ~direction: string=?, ~granularity: string=?,) => unit
let removeAllRanges: WebAPI.DOMAPI.selection => unit
let removeRange: (WebAPI.DOMAPI.selection, WebAPI.DOMAPI.range) => unit
let selectAllChildren: (WebAPI.DOMAPI.selection, WebAPI.DOMAPI.node) => unit
let setBaseAndExtent: ( WebAPI.DOMAPI.selection, ~anchorNode: WebAPI.DOMAPI.node, ~anchorOffset: int, ~focusNode: WebAPI.DOMAPI.node, ~focusOffset: int,) => unit
let setPosition: ( WebAPI.DOMAPI.selection, ~node: WebAPI.DOMAPI.node, ~offset: int=?,) => unit