import React from 'react';
import type { ITriggerTemplateComponentProps } from './TriggerTemplate';
import type { Application } from '../../application';
import type { IExecution, IExecutionTrigger, INotification, IPipeline, IPipelineCommand, ITrigger } from '../../domain';
import type { IModalComponentProps } from '../../presentation';
import './manualPipelineExecution.less';
export interface IManualExecutionModalProps extends IModalComponentProps {
    application: Application;
    currentlyRunningExecutions?: IExecution[];
    pipeline?: IPipeline;
    trigger?: IExecutionTrigger;
}
export interface IManualExecutionModalState {
    applicationNotifications: INotification[];
    currentPipelineExecutions: IExecution[];
    dryRunEnabled?: boolean;
    modalHeader: string;
    pipelineNotifications: INotification[];
    pipelineOptions?: IPipeline[];
    stageComponents: Array<React.ComponentType<ITriggerTemplateComponentProps>>;
    triggerComponent?: React.ComponentType<ITriggerTemplateComponentProps>;
    triggers: ITrigger[];
}
export declare class ManualExecutionModal extends React.Component<IManualExecutionModalProps, IManualExecutionModalState> {
    private formikRef;
    private destroy$;
    constructor(props: IManualExecutionModalProps);
    private static getPipelineTriggers;
    componentDidMount(): void;
    componentWillUnmount(): void;
    static show(props: any): Promise<IPipelineCommand>;
    private submit;
    private pipelineChanged;
    private triggerChanged;
    private parseManualExecution;
    private setStageComponentsForManualExecution;
    private formatTriggers;
    private formatPipeline;
    private formatParameterConfig;
    private updateTriggerOptions;
    private generateInitialValues;
    private validate;
    render(): React.ReactElement<ManualExecutionModal>;
}
