import React from 'react';
import type { Application } from '../../application/application.model';
import type { IExecution, IExecutionStage, IExecutionStageSummary, IStageTypeConfig } from '../../domain';
import './stageExecutionDetails.less';
export interface IStageExecutionDetailsProps {
    application: Application;
    execution: IExecution;
    standalone?: boolean;
}
export interface IStageExecutionDetailsState {
    detailsStageConfig: IStageTypeConfig;
    stageSummary: IExecutionStageSummary;
    stage: IExecutionStage;
    summaryStageConfig: IStageTypeConfig;
}
export interface IExecutionStateParams {
    stage?: number;
    subStage?: number;
    step?: number;
    stageId?: string;
    refId?: string;
}
export declare class StageExecutionDetails extends React.Component<IStageExecutionDetailsProps, IStageExecutionDetailsState> {
    static defaultProps: Partial<IStageExecutionDetailsProps>;
    private groupsUpdatedSubscription;
    private locationChangeUnsubscribe;
    constructor(props: IStageExecutionDetailsProps);
    private getStageParamsFromStageId;
    private getStageParamsFromRefId;
    private validateStageExists;
    private getCurrentStage;
    private getCurrentStep;
    private getStageSummary;
    private getDetailsStageConfig;
    private getSummaryStageConfig;
    getUpdatedState(): IStageExecutionDetailsState;
    updateStage(): void;
    componentDidMount(): void;
    componentWillReceiveProps(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
}
