import React from 'react';
import type { Application } from '../../../application/application.model';
import type { IExecutionViewState } from '../../config/graph/pipelineGraph.service';
import type { IExecution, IExecutionStageSummary, IPipeline, IRestartDetails } from '../../../domain';
import type { ISortFilter } from '../../../filterModel';
import './execution.less';
export interface IExecutionProps {
    application: Application;
    execution: IExecution;
    descendantExecutionId?: string;
    showConfigureButton?: boolean;
    pipelineConfig: IPipeline;
    showDurations?: boolean;
    standalone?: boolean;
    title?: string | JSX.Element;
    dataSourceKey?: string;
    showAccountLabels?: boolean;
    onRerun?: (execution: IExecution, config: IPipeline) => void;
    cancelHelpText?: string;
    cancelConfirmationText?: string;
    scrollIntoView?: boolean;
}
export interface IExecutionState {
    showingDetails: boolean;
    showingParams: boolean;
    pipelinesUrl: string;
    viewState: IExecutionViewState;
    sortFilter: ISortFilter;
    restartDetails: IRestartDetails;
    runningTimeInMs: number;
}
export declare class Execution extends React.PureComponent<IExecutionProps, IExecutionState> {
    static defaultProps: Partial<IExecutionProps>;
    private stateChangeSuccessSubscription;
    private runningTime;
    private wrapperRef;
    constructor(props: IExecutionProps);
    private updateViewStateDetails;
    private invalidateShowingDetails;
    isActive(stage: IExecutionStageSummary): boolean;
    toggleDetails: (stageIndex?: number, subIndex?: number) => void;
    getUrl(): string;
    deleteExecution(): void;
    cancelExecution(): void;
    pauseExecution(): void;
    resumeExecution(): void;
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: IExecutionProps): void;
    componentWillUnmount(): void;
    private handleNodeClick;
    private handleSourceNoStagesClick;
    private handlePauseClick;
    private handleResumeClick;
    private handleDeleteClick;
    private handleCancelClick;
    private handleRerunClick;
    private handleSourceClick;
    private handleToggleDetails;
    private handleConfigureClicked;
    private scrollIntoView;
    render(): JSX.Element;
}
