import { Lifecycle } from "@well-known-components/interfaces"; import sinon from "sinon"; /** * Arguments to be passed to test suites. * @public */ export type TestArguments> = { components: Readonly; stubComponents: { readonly [T in keyof TestComponents]: sinon.SinonStubbedInstance; }; spyComponents: { readonly [T in keyof TestComponents]: SpiedInstance; }; /** * Functions to run before the Lifecycle helpers start the components' lifecycle */ beforeStart(fn: BeforeStartFunction): void; }; /** @public */ export type BeforeStartFunction = any> = () => Promise | void; export { createLocalFetchCompoment, defaultServerConfig } from "./localFetch"; /** * @public * @deprecated unstable */ export type SpiedInstance = { [P in keyof TType]: Required[P] extends (...args: any[]) => any ? jest.SpyInstance[P]>, jest.ArgsType[P]>> : never; }; /** * Creates a test runner. Receives the same arguments as Lifecycle.run * @public */ export declare function createRunner>(options: Lifecycle.ProgramConfig): (name: string, suite: (testArgs: TestArguments) => void) => void; //# sourceMappingURL=index.d.ts.map