import { AppTemplate, GuidValue, AppDefinition } from "../../../models";
import { AppStore, MultilingualStore, UserTargetingStore } from "../../../stores";
import { TemplatePickerModel, OmniaTheming, LayoutCanvasStore } from "../..";
import { VueComponentBase } from "../../VueComponentBase";
import { TemplateStyles } from "../../templatepicker/TemplatePicker.css";
export interface IAppInstanceTemplatePickerVueComponentProps {
    appDefinitionId?: GuidValue;
    initialAppTemplateId?: GuidValue;
    showEnabledTemplatesOnly?: boolean;
    waitingAfterTemplateSelected: boolean;
    handleTemplateSelected: (template: AppTemplate, definition: AppDefinition) => void;
    templatesToShow?: string[];
    wrapperClass?: string;
    colsGrid?: number;
    stylesTemplate?: typeof TemplateStyles;
    isSort?: boolean;
}
export declare class AppInstanceTemplatePickerVueComponent extends VueComponentBase<IAppInstanceTemplatePickerVueComponentProps> {
    appDefinitionId?: GuidValue;
    initialAppTemplateId?: GuidValue;
    showEnabledTemplatesOnly?: boolean;
    handleTemplateSelected: (template: AppTemplate, definition: AppDefinition) => void;
    waitingAfterTemplateSelected: boolean;
    templatesToShow?: string[];
    colsGrid?: number;
    stylesTemplate?: typeof TemplateStyles;
    wrapperClass: string;
    isSort?: boolean;
    appStore: AppStore;
    multilingualTextsStore: MultilingualStore;
    omniaTheming: OmniaTheming;
    layoutEditorStore: LayoutCanvasStore;
    userTargetingStore: UserTargetingStore;
    private loc;
    private isLoading;
    private appDefinitions;
    private appTemplates;
    private templatesPicker;
    private selectedTemplate;
    private isEditMode;
    created(): void;
    private loadAppTemplates;
    private loadAppDefinitions;
    private checkLoading;
    private onSelectTemplate;
    private mapToTemplatePickerModel;
    get ensureTemplateToShow(): TemplatePickerModel[];
    render(): VueTsxSupport.JSX.Element;
}
