import { LoadedConfig } from '@tapjs/config';
import { TAP, TestBase } from '@tapjs/core';
import { Minipass } from 'minipass';
import { FC } from 'react';
import { Writable } from 'stream';
import { Base } from './base.js';
import * as components from './components.js';
import { Dot } from './dot.js';
import * as hooks from './hooks.js';
import { JSONReport, JSONStream } from './json.js';
import { JUnit } from './junit.js';
import { MarkdownStream } from './markdown.js';
import { Min } from './min.js';
import { Terse } from './terse.js';
import * as utils from './utils.js';
export { Base, Terse, Min, Dot, JSONReport, JSONStream, MarkdownStream, JUnit, hooks, components, utils, };
export interface TapReportOpts {
    test: TestBase;
    config: LoadedConfig;
}
export type Reporter = FC<TapReportOpts>;
export declare const types: Record<string, Reporter | typeof Minipass<string>>;
export declare const addType: (name: string, report: Reporter | typeof Minipass<string>) => void;
export declare const report: (Type: string | Reporter | typeof Minipass<string>, tap: TAP, config: LoadedConfig, stdout?: Writable) => Promise<boolean>;
//# sourceMappingURL=index.d.ts.map