import { CucumberJsonReportInterface, MultiBrowserFeatureReport, MultiBrowserScenario } from './cucumber-json-interfaces';
import { TestRunInfo, BrowserInfo } from './reporter-interface';
export declare class CucumberJsonReport implements CucumberJsonReportInterface {
    private _startTime;
    private _endTime;
    private _userAgents;
    private _testCount;
    private _passed;
    private _warnings;
    private _features;
    private _currentFeature;
    private _currentScenario;
    private _currentApp;
    private _storageFolder;
    get currentFeature(): MultiBrowserFeatureReport | undefined;
    set currentFeature(v: MultiBrowserFeatureReport | undefined);
    get currentScenario(): MultiBrowserScenario | undefined;
    set currentScenario(v: MultiBrowserScenario | undefined);
    initializeWith: (startTime: Date, userAgents: string[], testCount: number) => CucumberJsonReport;
    finalizeWith: (endTime: Date, passed: number, warnings: string[]) => CucumberJsonReport;
    toJson: (userAgent: string) => string;
    writeJsonFiles: () => void;
    toInfo: () => string;
    createFeature: (name: string, path: string) => CucumberJsonReportInterface;
    createScenario: (name: string, testRunInfo: TestRunInfo) => CucumberJsonReportInterface;
    private getUserAgentFromBrowser;
    withBrowserInfo: (browser: string, browserInfo: BrowserInfo) => CucumberJsonReportInterface;
    withBrowserError: (error: string | undefined, browser: string) => CucumberJsonReportInterface;
    withBrowserScreenshots: (paths: string[] | undefined, browser: string) => CucumberJsonReportInterface;
    private getTestRunErrorsForBrowser;
    private createDefaultStep;
    private getScenarioIdFrom;
    private getFeatureIdFrom;
}
