type Machine = { [k: string]: { [j: string]: S; }; }; type MachineState = keyof T; type UnionToIntersection = (T extends any ? (x: T) => any : never) extends (x: infer R) => any ? R : never; export declare function useStateMachine(initialState: MachineState, machine: M & Machine>): [keyof M, import("react").ActionDispatch<[event: keyof UnionToIntersection]>]; export {};