import Suite, { SuiteProperties } from '../Suite'; import Test, { TestFunction } from '../Test'; import { Executor } from '../executors/Executor'; export default function registerSuite(name: string, descriptorOrFactory: ObjectSuiteDescriptor | ObjectSuiteFactory | Tests): void; export declare function getInterface(executor: Executor): { registerSuite(name: string, descriptorOrFactory: ObjectSuiteDescriptor | ObjectSuiteFactory | Tests): void; }; export interface ObjectInterface { registerSuite(name: string, mainDescriptor: ObjectSuiteDescriptor | ObjectSuiteFactory | Tests): void; } export interface Tests { [name: string]: ObjectSuiteDescriptor | TestFunction | Tests; } export interface ObjectSuiteDescriptor extends Partial { tests: Tests; } export interface ObjectSuiteFactory { (): ObjectSuiteDescriptor | Tests; } export declare function isSuiteDescriptorFactory(value: any): value is T; export declare function createSuite(name: string, parent: Suite, descriptor: ObjectSuiteDescriptor | Tests, SuiteClass: S, TestClass: T): Suite;