import {Slice} from "./slice.js" export interface SliceAccessors { getter: (state: S) => X setter: (state: S, x: X) => S } export interface Sliceable { readonly state: S transmute(fun: (state: S) => S): void slice({}: SliceAccessors): Slice } export type SliceOptions = SliceAccessors & { parent: Sliceable }