///
import events = require('events');
import { Watchdog } from './watchdog';
import { AgentConfig } from './config-process/config';
import { ConfigProcess } from './config-process';
import { BackendProxy } from './http/backend-proxy';
import { Logger, IExecutionData, IExecutionResponse } from './contracts';
import { INotCollectingHitsReason } from './contracts';
export declare class StateTracker extends events.EventEmitter {
protected cfg: AgentConfig;
protected configProcess: ConfigProcess;
private checkTestStatusWatchdog;
protected backendProxy: BackendProxy;
protected logger: Logger;
static readonly EXECUTION_ENDS = "executionEnds";
static readonly EXECUTION_BSID_CHANGED = "executionBsidChanged";
static readonly EXECUTION_ID_CHANGED = "executionIdChanged";
static readonly TEST_STAGE_CHANGED = "testStageChanged";
static readonly EXECUTION_STATUS_CREATED = "created";
static readonly EXECUTION_STATUS_PENDING_DELETE = "pendingDelete";
static readonly NO_ACTIVE_EXECUTION = "noActiveExecution";
private currentTestIdentifier;
private _currentExecution;
private isRunning;
private _openExecutionFoundOnce;
private pendingDeleteExecId;
constructor(cfg: AgentConfig, configProcess: ConfigProcess, checkTestStatusWatchdog: Watchdog, backendProxy: BackendProxy, logger: Logger);
protected startCheckingTestStatusAtServer(): void;
protected checkTestStatusAtServer(async?: boolean): void;
loadExecutionSync(): Promise;
getActiveExecution(async?: boolean): Promise;
protected getExecutionIdForQuery(): string;
hasMappingAtServer(): boolean;
getCollectHitsState(): {
shouldCollectHits: boolean;
reason?: INotCollectingHitsReason;
message?: string;
};
get currentExecution(): IExecutionData;
set currentExecution(value: IExecutionData);
get openExecutionFoundOnce(): boolean;
isAnonymousColor(testIdentifier: string): boolean;
protected switchToAnonFootprints(): void;
getCurrentTestIdentifier(): string;
setTestIdentifier(newTestIdentifier: string, silent?: boolean): void;
setCurrentTestIdentifier(newTestIdentifier: string | null): void;
start(): void;
stop(): void;
getTestStage(): string;
static splitTestIdToExecutionAndTestName(testId: string): {
executionId: string;
testName: string;
};
static combineExecutionIdAndTestName(executionId: any, testName: any): string;
startColoredExecution(executionId: string): Promise;
protected fireExecutionEvents(executionData: IExecutionData): void;
protected notifyCockpit(execution: IExecutionData): void;
}