import type { IController, IScope } from 'angular';
import type { IModalInstanceService } from 'angular-ui-bootstrap';
import type { IPipelineTemplatePlanError, IVariableMetadata } from '../PipelineTemplateReader';
import type { Application } from '../../../../application/application.model';
import type { IPipelineTemplateConfigV2 } from '../../../../domain';
import type { IVariable } from '../inputs/variableInput.service';
export interface IVariableMetadataGroup {
    name: string;
    variableMetadata: IVariableMetadata[];
}
export interface IState {
    error: boolean;
    loading: boolean;
    loadingError: boolean;
    noVariables: boolean;
    planErrors: IPipelineTemplatePlanError[];
    inheritTemplateParameters: boolean;
    inheritTemplateTriggers: boolean;
    inheritTemplateNotifications: boolean;
}
export declare class ConfigurePipelineTemplateModalV2Controller implements IController {
    private $scope;
    private $uibModalInstance;
    private application;
    pipelineTemplateConfig: IPipelineTemplateConfigV2;
    isNew: boolean;
    private pipelineId;
    private executionId;
    pipelineName: string;
    variableMetadataGroups: IVariableMetadataGroup[];
    variables: IVariable[];
    state: IState;
    private template;
    private source;
    static $inject: string[];
    constructor($scope: IScope, $uibModalInstance: IModalInstanceService, application: Application, pipelineTemplateConfig: IPipelineTemplateConfigV2, isNew: boolean, pipelineId: string, executionId: string);
    $onInit(): void;
    initialize(): void;
    cancel(): void;
    formIsValid(): boolean;
    submit(): PromiseLike<void>;
    dismissError(): void;
    buildConfig(): IPipelineTemplateConfigV2;
    private loadTemplate;
    private transformVariablesForPipelinePlan;
    handleVariableChange: (newVariable: IVariable) => void;
    private getVariable;
    private groupVariableMetadata;
    private addToGroup;
    private initializeVariables;
    private getInitialVariableValue;
}
export declare const CONFIGURE_PIPELINE_TEMPLATE_MODAL_V2_CTRL = "spinnaker.core.pipeline.configureTemplate.modal.v2.controller";
