import React from 'react';
import type { Option } from 'react-select';
import type { BuildServiceType } from '../../../../ci';
import type { IBuild, IBuildTrigger } from '../../../../domain';
import type { ITriggerTemplateComponentProps } from '../../../manualExecution/TriggerTemplate';
export interface IBaseBuildTriggerTemplateProps extends ITriggerTemplateComponentProps {
    buildTriggerType: BuildServiceType;
    optionRenderer?: (build: Option) => JSX.Element;
}
export interface IBaseBuildTriggerTemplateState {
    builds?: IBuild[];
    buildsLoading?: boolean;
    loadError?: boolean;
    selectedBuild?: number;
    explicitBuild?: boolean;
}
export declare class BaseBuildTriggerTemplate extends React.Component<IBaseBuildTriggerTemplateProps, IBaseBuildTriggerTemplateState> {
    private destroy$;
    static formatLabel(trigger: IBuildTrigger): PromiseLike<string>;
    constructor(props: IBaseBuildTriggerTemplateProps);
    private buildLoadSuccess;
    private buildLoadFailure;
    private updateSelectedBuild;
    private initialize;
    private manuallySpecify;
    private explicitlyUpdateBuildNumber;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private handleBuildChanged;
    private optionRenderer;
    render(): JSX.Element;
}
