hunk.code_window:     op: 'and' | 'or' | 'not';
     };
   }
   export type TransitionTarget<
     TContext extends MachineContext,
     TEvent extends EventObject
   > = SingleOrArray<string | StateNode<TContext, TEvent>>;
   export type TransitionTargets<TContext extends MachineContext> = Array<
     string | StateNode<TContext, any>
   >;
   export interface TransitionConfig<
     TContext extends MachineContext,
     TEvent extends EventObject,
  
hunk.labels: keep keep keep keep replace replace replace replace replace replace replace replace keep keep keep keep
hunk.after_edit: export type TransitionTarget = SingleOrArray<string>;
  
hunk.file_path: packages/core/src/types.ts
hunk.type: replace
file: import { TestModel } from '../src/TestModel';
  import { TestParam, TestPath } from '../src/types';
  
  const testModel = async (
    model: TestModel<any, any>,
    params: TestParam<any, any>
  ) => {
    for (const path of model.getPaths()) {
      await path.test(params);
    }
  };
  
  const testPaths = async (
    paths: TestPath<any, any>[],
    params: TestParam<any, any>
  ) => {
    for (const path of paths) {
      await path.test(params);
    }
  };
  
  export const testUtils = {
    testPaths,
    testModel
  };
  