import { SyncHook, AsyncSeriesHook } from 'tapable'; import BrowserFactory from '@proof-ui/browser'; import { TestConfig } from '@proof-ui/test'; import { TestRunOptions, TestResult, SuiteResult } from './types'; import { Storybook } from './storybook'; import TestRunner, { FoundTest } from './runner'; import Test from './proof-test'; export * from './storybook'; export * from './proof-test'; export * from './runner'; export * from './types'; export { default as ProofTest } from './proof-test'; export { default as TestRunner } from './runner'; export interface ProofPlugin { apply(proof: Proof): void; } export interface ProofConfig { plugins?: ProofPlugin[]; } export declare function createName(config: TestConfig): string; export default class Proof { hooks: { files: SyncHook; tests: SyncHook; stories: SyncHook; browserFactory: SyncHook; testRunner: SyncHook; testStart: SyncHook; testFinish: SyncHook; start: SyncHook; end: AsyncSeriesHook; }; constructor(config: ProofConfig); private createTest; private runTest; run(options: TestRunOptions): Promise; }