import React from 'react';
import type { Application } from '../../../application/application.model';
import type { IExecutionGroup, IExecutionTrigger, IPipeline } from '../../../domain';
import type { Placement } from '../../../presentation/Placement';
import type { IRetryablePromise } from '../../../utils/retryablePromise';
import './executionGroup.less';
export interface IExecutionGroupProps {
    group: IExecutionGroup;
    application: Application;
    parent: HTMLDivElement;
}
export interface IExecutionGroupState {
    deploymentAccounts: string[];
    pipelineConfig: IPipeline;
    triggeringExecution: boolean;
    open: boolean;
    showingDetails: boolean;
    poll: IRetryablePromise<any>;
    displayExecutionActions: boolean;
    showAccounts: boolean;
    showOverflowAccountTags: boolean;
    placement: Placement;
}
export declare class ExecutionGroup extends React.PureComponent<IExecutionGroupProps, IExecutionGroupState> {
    state: IExecutionGroupState;
    private expandUpdatedSubscription;
    private stateChangeSuccessSubscription;
    private destroy$;
    private headerRef;
    constructor(props: IExecutionGroupProps);
    private isShowingDetails;
    configure(id: string): void;
    private hideDetails;
    private getSectionCacheKey;
    private toggle;
    private startPipeline;
    triggerPipeline(trigger?: IExecutionTrigger, config?: IPipeline): void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private handleHeadingClicked;
    private handleConfigureClicked;
    private handleTriggerClicked;
    private rerunExecutionClicked;
    private getDeploymentAccounts;
    private onEnter;
    private renderExecutions;
    render(): React.ReactElement<ExecutionGroup>;
}
