import type { Setter, WritableFamilyToken, WritableToken } from "atom.io" import type { Canonical } from "atom.io/foundations/canonical" import type { Store } from "../store/index.ts" import { operateOnStore, OWN_OP } from "./operate-on-store.ts" import type { RESET_STATE } from "./reset-in-store.ts" export function setIntoStore( store: Store, token: WritableToken, value: Setter | TT | typeof RESET_STATE, ): void export function setIntoStore( store: Store, token: WritableFamilyToken, key: NoInfer, value: Setter | TT | typeof RESET_STATE, ): void export function setIntoStore( store: Store, ...params: | [ token: WritableFamilyToken, key: NoInfer, value: Setter | TT | typeof RESET_STATE, ] | [ token: WritableToken, value: Setter | TT | typeof RESET_STATE, ] ): void export function setIntoStore( store: Store, ...params: | [ token: WritableFamilyToken, key: NoInfer, value: Setter | TT | typeof RESET_STATE, ] | [ token: WritableToken, value: Setter | TT | typeof RESET_STATE, ] ): void { operateOnStore(OWN_OP, store, ...params) }