///
export interface Machine {
[k: string]: {
[k: string]: S;
};
}
export type MachineState = keyof T;
export type MachineEvent = {
[K in keyof T]: keyof T[K];
}[keyof T];
/**
* Creates a state machine with the given initial state and machine definition.
* @param initialState - The initial state of the machine.
* @param machine - The definition of the state machine, mapping states to possible transitions.
* @returns An object containing the state store and a dispatch function for state transitions.
*/
export declare function createStateMachine(initialState: MachineState, machine: M & Machine>): {
state: import("../withGet.js").WithGet>;
dispatch: (event: MachineEvent) => void;
};