import { IconTypes, IconSources } from "./Enums";
import { MediaPickerImage } from "./media-picker";
export interface IIcon {
    iconType: IconTypes;
    role?: string;
}
export interface IFontAwesomeIcon extends IIcon {
    faClass: string;
}
export interface IFabricIcon extends IIcon {
    fabClass: string;
}
export interface IFlagIcon extends IIcon {
    flagClass: string;
}
export interface ICustomIcon extends IIcon {
    customValue: string | MediaPickerImage;
}
export interface ISvgIcon extends IIcon {
    svg: string;
}
/**
 * Class to create a guid
 */
export declare class FontAwesomeIcon implements IFontAwesomeIcon {
    faClass: string;
    iconType: IconTypes;
    constructor(faClass: string);
}
export declare class FabricIcon implements IFabricIcon {
    fabClass: string;
    iconType: IconTypes;
    constructor(fabClass: string);
}
export declare class CustomIcon implements ICustomIcon {
    customValue: string | MediaPickerImage;
    iconType: IconTypes;
    constructor(customValue: string | MediaPickerImage);
}
export declare class SvgIcon implements ISvgIcon {
    svg: string;
    iconType: IconTypes;
    constructor(svg: string);
}
export declare class FlagIcon implements IFlagIcon {
    flagClass: string;
    iconType: IconTypes;
    constructor(flagClass: string);
}
export interface IconPickerModel extends IIcon {
    iconSource?: IconSources;
    faClass?: string;
    fabClass?: string;
    flagClass?: string;
    customValue?: string | MediaPickerImage;
}
