import { IWebComponentInstance } from "../../..";
import { GuidValue, EnterprisePropertyDefinition, ExternalPropertySelectionItem } from "../../../models";
import { IEnterprisePropertyPicker } from "./IEnterprisePropertyPicker";
import { VueComponentBase, IValidator } from "../..";
import "./EnterprisePropertyPickerStyles.css";
import { EnterprisePropertyStore, EnterprisePropertyCategoryStore, MultilingualStore } from "../../../stores";
import { OmniaUxLocalization } from "../../UxModels";
export declare class EnterprisePropertyPicker extends VueComponentBase implements IWebComponentInstance, IEnterprisePropertyPicker {
    preSelectedPropertyInternalName?: string | Array<string>;
    propertyItems?: Array<EnterprisePropertyDefinition>;
    externalPropertyItems?: Array<ExternalPropertySelectionItem>;
    label: string;
    disabled: boolean;
    multiple: boolean;
    clearable: boolean;
    excludedPropertyTypeIds?: GuidValue[];
    onChange: (propertyInternalName: string | Array<string>) => void;
    filled: boolean;
    hideDetails: boolean;
    requiredWithValidator?: IValidator;
    enterprisePropertyStore: EnterprisePropertyStore;
    enterprisePropertyCategoryStore: EnterprisePropertyCategoryStore;
    multilingualStore: MultilingualStore;
    uxLoc: OmniaUxLocalization;
    private pickerStyles;
    private uiSelectionItems;
    private propertyFilterKeyword;
    private internalSelectedPropertyNames;
    private textboxValue;
    private uiSelectedItemIndex;
    private uiMultipleExpandedGroups;
    private uiAccordionExpandedGroup;
    private uiSelectedPropertyInGroupIndexs;
    private multipleExpansionPanel;
    private uiMultipleSelectedItems;
    private uiSingleSelectedPropertyTitle;
    private isValid;
    private isValidateTrigged;
    private isLoading;
    private filteringTimewatchKey;
    private filteringTimewatch;
    private inFilteringMode;
    private needToReinitSelectionUI;
    private openMenu;
    private innerHeight;
    private vListKey;
    preSelectedEnterpriseProperyIdChanged(model: string | Array<string>): void;
    propertyItemsChanged(model: string): void;
    externalPropertyItemsChanged(model: string): void;
    created(): void;
    mounted(): void;
    beforeDestroy(): void;
    validate(): boolean;
    clearValidation(): void;
    private validateValue;
    private init;
    private setInternalSelectedValue;
    private triggerOnChange;
    private initUISelectionItems;
    private resetUIItemSelected;
    private resetSelectedItemIndexInGroup;
    private restoreSingleSelectedValue;
    private restoreAndEliminateMultipleSelectedValues;
    private getPropertyDefinitionGroupListing;
    private groupPropertiesByCategory;
    private onFilterProperty;
    private onSelectExternalProperty;
    private onSelectPropertyDefinition;
    private onPickedProperty;
    private onRemoveChip;
    private onMenuActivatorClick;
    private repositionPopupList;
    private onToggleCategory;
    private switchToValueMode;
    private renderPropertySelections;
    private onClearTextboxValue;
    private renderPropertyInput;
    private renderSingleMode;
    private renderMultipleMode;
    render(): VueTsxSupport.JSX.Element;
}
