import { IWebComponentInstance } from "@omnia/fx";
import { IconTypes, IconPickerModel, MediaPickerStorageProviderContext, MediaPickerImage } from "../../models";
import { IIconPicker } from "./IIconPicker";
import { IValidator, VueComponentBase } from "..";
import { IconPickerLocalization } from "./loc/localize";
export declare class IconPicker extends VueComponentBase implements IWebComponentInstance, IIconPicker {
    disabled: boolean;
    required: boolean;
    valueBind: IconPickerModel;
    onValueChanged?: (model: IconPickerModel) => void;
    errorMessages: Array<string>;
    disabledCustomImage: boolean;
    dark?: boolean;
    validator?: IValidator;
    providerContext?: MediaPickerStorageProviderContext;
    showPreview: boolean;
    hideDetails: boolean;
    private uxLoc;
    loc: IconPickerLocalization.locInterface;
    private omniaTheming;
    private mediaPickerStore;
    private mediaPickerService;
    private iconTypes;
    private filteredFontAwesomeIcons;
    private isShowCustomIconUpload;
    private imageSettings;
    private requireLabel;
    private requireRule;
    created(): void;
    mounted(): void;
    updateFontIcon(newValue: string): void;
    updateFabricFontIcon(newValue: string): void;
    updateFlagFontIcon(newValue: string): void;
    updateCustomIcon(img: MediaPickerImage): void;
    updateIconType(newValue: IconTypes): void;
    initImageSettings(): void;
    renderCustomIconUploader(): VueTsxSupport.JSX.Element;
    renderCustomImageSelection(): VueTsxSupport.JSX.Element | VueTsxSupport.JSX.Element[];
    renderFontAwesomeSelection(): VueTsxSupport.JSX.Element;
    renderFabricSelection(): VueTsxSupport.JSX.Element;
    renderFlagSelection(): VueTsxSupport.JSX.Element;
    render(): VueTsxSupport.JSX.Element;
}
