declare module 'detox/runners/jest' { import type NodeEnvironment from 'jest-environment-node'; export function globalSetup(): Promise; export function globalTeardown(): Promise; export type DetoxCircusListenerConstructorOpts = { readonly env: DetoxCircusEnvironment; } /** * @example * class CustomListener implements DetoxCircusListener { * constructor(opts: DetoxCircusListenerConstructorOpts) { * console.log('Current test path is:', opts.env.testPath); * } * } */ export interface DetoxCircusListener { start_describe_definition?(event: unknown, state: unknown): void; finish_describe_definition?(event: unknown, state: unknown): void; add_hook?(event: unknown, state: unknown): void; add_test?(event: unknown, state: unknown): void; error?(event: unknown, state: unknown): void; setup?(event: unknown, state: unknown): void | Promise; include_test_location_in_result?(event: unknown, state: unknown): void | Promise; hook_start?(event: unknown, state: unknown): void | Promise; hook_success?(event: unknown, state: unknown): void | Promise; hook_failure?(event: unknown, state: unknown): void | Promise; test_fn_start?(event: unknown, state: unknown): void | Promise; test_fn_success?(event: unknown, state: unknown): void | Promise; test_fn_failure?(event: unknown, state: unknown): void | Promise; test_retry?(event: unknown, state: unknown): void | Promise; test_start?(event: unknown, state: unknown): void | Promise; test_skip?(event: unknown, state: unknown): void | Promise; test_todo?(event: unknown, state: unknown): void | Promise; test_done?(event: unknown, state: unknown): void | Promise; run_describe_start?(event: unknown, state: unknown): void | Promise; run_describe_finish?(event: unknown, state: unknown): void | Promise; run_start?(event: unknown, state: unknown): void | Promise; run_finish?(event: unknown, state: unknown): void | Promise; teardown?(event: unknown, state: unknown): void | Promise; } export interface DetoxListenerFactory { new (opts: DetoxCircusListenerConstructorOpts): DetoxCircusListener; } export class DetoxCircusEnvironment extends NodeEnvironment { public readonly testPath: string; public handleTestEvent(event: unknown, state: unknown): void | Promise; protected registerListeners(map: Record): void; protected setupTimeout: number; protected teardownTimeout: number; protected initDetox(): Promise; protected cleanupDetox(): Promise; } }