import type { Label, Link } from "allure-js-commons"; import type { ReporterConfig } from "allure-js-commons/sdk/reporter"; import type { ReporterConstructor } from "mocha"; export type TestPlanIndices = { fullNameIndex: ReadonlySet; idIndex: ReadonlySet; }; export type AllureMochaTestData = { isIncludedInTestRun: boolean; fullName: string; labels: readonly Label[]; links: readonly Link[]; displayName: string; scope?: string; }; export type HookCategory = "before" | "after"; export type HookScope = "all" | "each"; export type HookType = [category?: HookCategory, scope?: HookScope]; export type AllureMochaReporterConfig = ReporterConfig & { extraReporters?: ReporterEntry | ReporterEntry[]; }; export type ReporterModuleOrCtor = ReporterConstructor | string; export type ReporterOptions = Record; export type ReporterEntry = ReporterModuleOrCtor | [ReporterModuleOrCtor] | [ReporterModuleOrCtor, ReporterOptions]; export type ReporterDoneFn = (failures: number, fn?: ((failures: number) => void) | undefined) => void;