import React from 'react';
import type { Option } from 'react-select';
import type { Application } from '../../../application';
import type { IDeployTemplate, ITemplateSelectionText } from './deployInitializer.component';
import type { IServerGroupCommand } from './serverGroupCommandBuilder.service';
export interface IDeployInitializerProps {
    application: Application;
    cloudProvider: string;
    command: IServerGroupCommand;
    onDismiss: () => void;
    onTemplateSelected: () => void;
    templateSelectionText?: ITemplateSelectionText;
}
export interface IDeployInitializerState {
    selectedTemplate: IDeployTemplate;
    templates: IDeployTemplate[];
}
export declare class DeployInitializer extends React.Component<IDeployInitializerProps, IDeployInitializerState> {
    private noTemplate;
    constructor(props: IDeployInitializerProps);
    private applyCommandToScope;
    private buildCommandFromTemplate;
    private buildEmptyCommand;
    private selectTemplate;
    useTemplate: () => void;
    templateChanged: (option: Option) => void;
    componentDidMount(): void;
    render(): JSX.Element;
    private templateValueRenderer;
    private templateOptionRenderer;
}
