/** * .what = interface for useWhen with modifiers * .why = enables useWhen.only, useWhen.skip, etc. */ interface UseWhen { (desc: string, fn: () => T): T; only: (desc: string, fn: () => T) => T; skip: (desc: string, fn: () => T) => T; skipIf: (condition: boolean) => (desc: string, fn: () => T) => T; runIf: (condition: boolean) => (desc: string, fn: () => T) => T; } /** * .what = execute a fn synchronously and capture its return value for sibling blocks * .why = enables sharing operation results across sequential blocks without let declarations * .note = unlike useThen, does not create a test block - executes immediately during collection */ export declare const useWhen: UseWhen; export {};