/// <reference types="node" />
import type { ExecutionStopResult } from './Interfaces';
import { WorkflowRunner } from './WorkflowRunner';
import { ExecutionRepository } from './databases/repositories/execution.repository';
import { OwnershipService } from './services/ownership.service';
import { Logger } from './Logger';
import { OrchestrationService } from './services/orchestration.service';
export declare class WaitTracker {
    private readonly logger;
    private readonly executionRepository;
    private readonly ownershipService;
    private readonly workflowRunner;
    private readonly orchestrationService;
    private waitingExecutions;
    mainTimer: NodeJS.Timeout;
    constructor(logger: Logger, executionRepository: ExecutionRepository, ownershipService: OwnershipService, workflowRunner: WorkflowRunner, orchestrationService: OrchestrationService);
    init(): void;
    private startTracking;
    getWaitingExecutions(): Promise<void>;
    stopExecution(executionId: string): Promise<ExecutionStopResult>;
    startExecution(executionId: string): void;
    stopTracking(): void;
}
