import React from 'react';
import type { Option } from 'react-select';
import type { IParameter, IPipeline } from '../../domain';
interface IPipelineSelectorCommand {
    application?: string;
    pipelineId?: string;
    pipelineParameters?: {
        [key: string]: any;
    };
    strategyPipeline?: string;
    strategyApplication?: string;
}
export interface IPipelineSelectorProps {
    command: IPipelineSelectorCommand;
    type: 'pipelines' | 'strategies';
}
export interface IPipelineSelectorState {
    applicationsLoaded: boolean;
    pipelinesLoaded: boolean;
    applicationOptions: Array<Option<string>>;
    pipelines: IPipeline[];
    pipelineOptions: Option[];
    pipelineParameters?: IParameter[];
    useDefaultParameters: {
        [key: string]: boolean;
    };
    userSuppliedParameters: {
        [key: string]: any;
    };
}
export declare class PipelineSelector extends React.Component<IPipelineSelectorProps, IPipelineSelectorState> {
    state: IPipelineSelectorState;
    private clearParams;
    private configureParamDefaults;
    updatePipelineConfig(pipelines: IPipeline[]): void;
    protected validateCurrentPipeline(pipelines: IPipeline[]): void;
    private updatePipelines;
    initializePipelines(): void;
    componentDidMount(): void;
    private applicationChange;
    private pipelineChange;
    updateParam(parameter: string, value: any): void;
    render(): JSX.Element;
}
export {};
