/**
 * Copyright (c) Microsoft Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { ReporterV2 } from './reporterV2';
import type * as reporterTypes from '../../types/testReporter';
import type * as teleReceiver from '../isomorphic/teleReceiver';
export type TeleReporterEmitterOptions = {
    omitOutput?: boolean;
    omitBuffers?: boolean;
};
export declare class TeleReporterEmitter implements ReporterV2 {
    private _messageSink;
    private _rootDir;
    private _emitterOptions;
    private _resultKnownAttachmentCounts;
    private _resultKnownErrorCounts;
    private readonly _idSymbol;
    constructor(messageSink: (message: teleReceiver.JsonEvent) => void, options?: TeleReporterEmitterOptions);
    version(): 'v2';
    onConfigure(config: reporterTypes.FullConfig): void;
    onBegin(suite: reporterTypes.Suite): void;
    onTestBegin(test: reporterTypes.TestCase, result: reporterTypes.TestResult): void;
    onTestPaused(test: reporterTypes.TestCase, result: reporterTypes.TestResult): Promise<void>;
    onTestEnd(test: reporterTypes.TestCase, result: reporterTypes.TestResult): void;
    onStepBegin(test: reporterTypes.TestCase, result: reporterTypes.TestResult, step: reporterTypes.TestStep): void;
    onStepEnd(test: reporterTypes.TestCase, result: reporterTypes.TestResult, step: reporterTypes.TestStep): void;
    onError(error: reporterTypes.TestError, workerInfo?: reporterTypes.WorkerInfo): void;
    onStdOut(chunk: string | Buffer, test?: reporterTypes.TestCase, result?: reporterTypes.TestResult): void;
    onStdErr(chunk: string | Buffer, test?: reporterTypes.TestCase, result?: reporterTypes.TestResult): void;
    private _onStdIO;
    onEnd(result: reporterTypes.FullResult): Promise<void>;
    printsToStdio(): boolean;
    private _serializeConfig;
    private _serializeProject;
    private _serializeProjectUseOptions;
    private _serializeSuite;
    private _serializeTest;
    private _serializeResultStart;
    private _serializeResultEnd;
    private _sendNewAttachments;
    _serializeAttachments(attachments: reporterTypes.TestResult['attachments']): teleReceiver.JsonAttachment[];
    private _serializeStepStart;
    private _serializeStepEnd;
    private _relativeAnnotationLocations;
    private _relativeLocation;
    private _relativePath;
}
//# sourceMappingURL=teleEmitter.d.ts.map