import { IWizardInstance, WizardStepModel, WizardStyles } from "@omnia/fx/ux";
import { AppDefinition, AppInstance, AppProvisioningStepContext, AppProvisioningStepInfo, AppTemplate, GuidValue } from "../../../models";
import { TemplateStyles } from "../../templatepicker/TemplatePicker.css";
import { AppProvisioningComponentBase } from "../components";
import { IAppProvisioningWizard } from "./IAppProvisioningWizard";
export declare class AppProvisioningWizard extends AppProvisioningComponentBase implements IAppProvisioningWizard {
    styles?: typeof WizardStyles;
    initialAppTemplate?: AppTemplate;
    initialAppDefinition?: AppDefinition;
    initialAppInstance?: AppInstance;
    templatesToShow?: string[];
    isOnDialog?: boolean;
    horizontalMinHeight: number;
    colsGrid?: number;
    templatePickerWrapperClass: string;
    stylesTemplate?: typeof TemplateStyles;
    isSort?: boolean;
    private appNamingPolicyValidationState;
    private appPolicyValidationState;
    private summaryInfoState;
    private themeStore;
    protected steps: WizardStepModel[];
    protected isTemplateSelected: boolean;
    protected isCompleted: boolean;
    protected isProvisioningCompleted: boolean;
    protected wizardInstance: IWizardInstance;
    protected stepCallbacks: {
        [id: string]: {
            onGoToNext?: () => Promise<boolean>;
            onGoToPrev?: () => Promise<boolean>;
        };
    };
    private showRejectDialog;
    private rejectComment;
    private isRejecting;
    private isCreating;
    private formValidator;
    private instanceTabStyles;
    private omniaUrl;
    constructor();
    created(): Promise<void>;
    private defaultStepIndex;
    mounted(): void;
    beforeDestroy(): void;
    private ensureData;
    private onWizardInstanceCreated;
    protected onGoToNext: (stepId: string) => Promise<boolean>;
    protected onGoToPrev: (stepId: string) => Promise<boolean>;
    protected onCompleteProvisioningSteps(stepId: string): void;
    private approveAppInstance;
    private rejectAppInstance;
    private createOrSendApproval;
    private createAppInstanceInputInfo;
    private ensureDefaultReactiveValues;
    protected onTemplateSelected(appTemplate: AppTemplate, appDefinition: AppDefinition): void;
    protected getAppProvisioningWizardSteps(steps: AppProvisioningStepInfo[]): WizardStepModel[];
    protected getAppProvisioningWizardStep(stepInfo: AppProvisioningStepInfo, isFirstStep: boolean, isLastStep: boolean): WizardStepModel;
    protected renderAppProvisioningFeatureComponent: (context: AppProvisioningStepContext, elementToRender: string) => VueTsxSupport.JSX.Element;
    protected renderAppProvisioningStepComponent: (context: AppProvisioningStepContext, elementToRender: string) => import("vue").VNode;
    protected registerOnGoToNext: (stepId: GuidValue, onGoToNextCallback: () => Promise<boolean>) => void;
    protected registerOnGoToPrev: (stepId: GuidValue, onGoToPrevCallback: () => Promise<boolean>) => void;
    protected renderAppInstanceTemplatePickerComponent(appDefinitionId: GuidValue, showEnabledTemplatesOnly: boolean): VueTsxSupport.JSX.Element;
    protected renderCompletedMessage(): VueTsxSupport.JSX.Element;
    private renderRejectDialog;
    render(): VueTsxSupport.JSX.Element;
}
