import BlocBase from "./BlocBase"; export type ValueType> = T extends BlocBase ? U : never; export type BlocClass = new (...args: never[]) => T; export type BlocHookData> = [ value: ValueType, instance: T, ]; export interface BlocOptions { persistKey?: string; persistData?: boolean; } export interface ChangeEvent { currentState: T, nextState: T, } export interface TransitionEvent { currentState: T, event: E, nextState: T, }