import * as mocha from "mocha"; export type TheyFunc = (this: mocha.Context, config: T, done: mocha.Done) => void; type They = { only: (msg: string, fn: TheyFunc) => mocha.Test[]; skip: (msg: string, fn: TheyFunc) => mocha.Test[]; (msg: string, fn: TheyFunc): mocha.Test[]; }; declare function configure(configs: (T | (() => T))[]): They; declare function configure(configs: (T | (() => T))[], before: (config: T) => U | Promise, after?: (config: U) => void): They; export default configure; export { configure }; export declare const they: typeof configure;