import { type WritableBox } from "svelte-toolbelt"; interface Machine { [k: string]: { [k: string]: S; }; } type MachineState = keyof T; type MachineEvent = keyof UnionToIntersection; type UnionToIntersection = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never; export declare class StateMachine { #private; readonly state: WritableBox>; constructor(initialState: MachineState, machine: M & Machine>); dispatch(event: MachineEvent): void; } export {};