// flow-typed signature: 195cec6dc98ab7533f0eb927ee493f99 // flow-typed version: 1a6d5d1968/mocha_v8.x.x/flow_>=v0.104.x declare interface $npm$mocha$SetupOptions { slow?: number; timeout?: number; ui?: string; globals?: Array; reporter?: any; bail?: boolean; ignoreLeaks?: boolean; grep?: any; } declare type $npm$mocha$done = (error?: any) => any; // declare interface $npm$mocha$SuiteCallbackContext { // timeout(ms: number): void; // retries(n: number): void; // slow(ms: number): void; // } // declare interface $npm$mocha$TestCallbackContext { // skip(): void; // timeout(ms: number): void; // retries(n: number): void; // slow(ms: number): void; // [index: string]: any; // } declare interface $npm$mocha$Suite { parent: $npm$mocha$Suite; title: string; fullTitle(): string; } declare type $npm$mocha$ContextDefinition = {| (description: string, callback: (/* this: $npm$mocha$SuiteCallbackContext */) => void): $npm$mocha$Suite; only(description: string, callback: (/* this: $npm$mocha$SuiteCallbackContext */) => void): $npm$mocha$Suite; skip(description: string, callback: (/* this: $npm$mocha$SuiteCallbackContext */) => void): void; timeout(ms: number): void; |} declare type $npm$mocha$TestDefinition = {| (expectation: string, callback?: (/* this: $npm$mocha$TestCallbackContext, */ done: $npm$mocha$done) => mixed): $npm$mocha$Test; only(expectation: string, callback?: (/* this: $npm$mocha$TestCallbackContext, */ done: $npm$mocha$done) => mixed): $npm$mocha$Test; skip(expectation: string, callback?: (/* this: $npm$mocha$TestCallbackContext, */ done: $npm$mocha$done) => mixed): void; timeout(ms: number): void; state: 'failed' | 'passed'; |} declare interface $npm$mocha$Runner {} declare class $npm$mocha$BaseReporter { stats: { suites: number, tests: number, passes: number, pending: number, failures: number, ... }; constructor(runner: $npm$mocha$Runner): $npm$mocha$BaseReporter; } declare class $npm$mocha$DocReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$DotReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$HTMLReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$HTMLCovReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$JSONReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$JSONCovReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$JSONStreamReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$LandingReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$ListReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$MarkdownReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$MinReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$NyanReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$ProgressReporter extends $npm$mocha$BaseReporter { constructor(runner: $npm$mocha$Runner, options?: { open?: string, complete?: string, incomplete?: string, close?: string, ... }): $npm$mocha$ProgressReporter; } declare class $npm$mocha$SpecReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$TAPReporter extends $npm$mocha$BaseReporter {} declare class $npm$mocha$XUnitReporter extends $npm$mocha$BaseReporter { constructor(runner: $npm$mocha$Runner, options?: any): $npm$mocha$XUnitReporter; } declare class $npm$mocha$Mocha { currentTest: $npm$mocha$TestDefinition; constructor(options?: { grep?: RegExp, ui?: string, reporter?: string, timeout?: number, reporterOptions?: any, slow?: number, bail?: boolean, ... }): $npm$mocha$Mocha; setup(options: $npm$mocha$SetupOptions): this; bail(value?: boolean): this; addFile(file: string): this; reporter(name: string): this; reporter(reporter: (runner: $npm$mocha$Runner, options: any) => any): this; ui(value: string): this; grep(value: string): this; grep(value: RegExp): this; invert(): this; ignoreLeaks(value: boolean): this; checkLeaks(): this; throwError(error: Error): void; growl(): this; globals(value: string): this; globals(values: Array): this; useColors(value: boolean): this; useInlineDiffs(value: boolean): this; timeout(value: number): this; slow(value: number): this; enableTimeouts(value: boolean): this; asyncOnly(value: boolean): this; noHighlighting(value: boolean): this; run(onComplete?: (failures: number) => void): $npm$mocha$Runner; static reporters: { Doc: $npm$mocha$DocReporter, Dot: $npm$mocha$DotReporter, HTML: $npm$mocha$HTMLReporter, HTMLCov: $npm$mocha$HTMLCovReporter, JSON: $npm$mocha$JSONReporter, JSONCov: $npm$mocha$JSONCovReporter, JSONStream: $npm$mocha$JSONStreamReporter, Landing: $npm$mocha$LandingReporter, List: $npm$mocha$ListReporter, Markdown: $npm$mocha$MarkdownReporter, Min: $npm$mocha$MinReporter, Nyan: $npm$mocha$NyanReporter, Progress: $npm$mocha$ProgressReporter, ... }; } // declare interface $npm$mocha$HookCallbackContext { // skip(): void; // timeout(ms: number): void; // [index: string]: any; // } declare interface $npm$mocha$Runnable { title: string; fn: Function; async: boolean; sync: boolean; timedOut: boolean; } declare interface $npm$mocha$Test extends $npm$mocha$Runnable { parent: $npm$mocha$Suite; pending: boolean; state: 'failed' | 'passed' | void; fullTitle(): string; timeout(ms: number): void; } // declare interface $npm$mocha$BeforeAndAfterContext extends $npm$mocha$HookCallbackContext { // currentTest: $npm$mocha$Test; // } declare var mocha: $npm$mocha$Mocha; declare var describe: $npm$mocha$ContextDefinition; declare var xdescribe: $npm$mocha$ContextDefinition; declare var context: $npm$mocha$ContextDefinition; declare var suite: $npm$mocha$ContextDefinition; declare var it: $npm$mocha$TestDefinition; declare var xit: $npm$mocha$TestDefinition; declare var test: $npm$mocha$TestDefinition; declare var specify: $npm$mocha$TestDefinition; type Run = () => void; declare var run: Run; type Setup = (callback: (/* this: $npm$mocha$BeforeAndAfterContext, */ done: $npm$mocha$done) => mixed) => void; type Teardown = (callback: (/* this: $npm$mocha$BeforeAndAfterContext, */ done: $npm$mocha$done) => mixed) => void; type SuiteSetup = (callback: (/* this: $npm$mocha$HookCallbackContext, */ done: $npm$mocha$done) => mixed) => void; type SuiteTeardown = (callback: (/* this: $npm$mocha$HookCallbackContext, */ done: $npm$mocha$done) => mixed) => void; type Before = | (callback: (/* this: $npm$mocha$HookCallbackContext, */ done: $npm$mocha$done) => mixed) => void | (description: string, callback: (/* this: $npm$mocha$HookCallbackContext, */ done: $npm$mocha$done) => mixed) => void; type After = | (callback: (/* this: $npm$mocha$HookCallbackContext, */ done: $npm$mocha$done) => mixed) => void | (description: string, callback: (/* this: $npm$mocha$HookCallbackContext, */ done: $npm$mocha$done) => mixed) => void; type BeforeEach = | (callback: (/* this: $npm$mocha$BeforeAndAfterContext, */ done: $npm$mocha$done) => mixed) => void | (description: string, callback: (/* this: $npm$mocha$BeforeAndAfterContext, */ done: $npm$mocha$done) => mixed) => void; type AfterEach = | (callback: (/* this: $npm$mocha$BeforeAndAfterContext, */ done: $npm$mocha$done) => mixed) => void | (description: string, callback: (/* this: $npm$mocha$BeforeAndAfterContext, */ done: $npm$mocha$done) => mixed) => void; declare var setup: Setup; declare var teardown: Teardown; declare var suiteSetup: SuiteSetup; declare var suiteTeardown; declare var before: Before declare var after: After; declare var beforeEach: BeforeEach; declare var afterEach: AfterEach; declare module "mocha" { declare export var mocha: $npm$mocha$TestDefinition; declare export var describe: $npm$mocha$ContextDefinition; declare export var xdescribe: $npm$mocha$ContextDefinition; declare export var context: $npm$mocha$ContextDefinition; declare export var suite: $npm$mocha$ContextDefinition; declare export var it: $npm$mocha$TestDefinition; declare export var xit: $npm$mocha$TestDefinition; declare export var test: $npm$mocha$TestDefinition; declare export var specify: $npm$mocha$TestDefinition; declare export var run: Run; declare export var setup: Setup; declare export var teardown: Teardown; declare export var suiteSetup: SuiteSetup; declare export var suiteTeardown: SuiteTeardown; declare export var before: Before; declare export var after: After; declare export var beforeEach: BeforeEach; declare export var afterEach: AfterEach; declare export default $npm$mocha$Mocha; }