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; };