import { IWebComponentInstance } from "@omnia/fx";
import { ButtonStyles, ButtonIconOptions, ButtonTooltipOptions, ButtonSizes, ButtonModes, IIcon } from "../../models";
import { IButton } from "./IButton";
import "./Button.css";
import { VueComponentBase } from "..";
export declare class Button extends VueComponentBase<IButton> implements IWebComponentInstance, IButton {
    private omniaContext;
    private mediaPickerService;
    preset?: IButton;
    icon?: ButtonIconOptions;
    tooltip?: ButtonTooltipOptions;
    size?: ButtonSizes;
    mode?: ButtonModes;
    styles?: ButtonStyles;
    loading?: boolean;
    disabled?: boolean;
    round?: boolean;
    outline?: boolean;
    block?: boolean;
    fab?: boolean;
    absolute?: boolean;
    plain?: boolean;
    dark?: boolean;
    tile?: boolean;
    href?: string;
    role?: string;
    tabindex?: string;
    onClick: (e?: any) => void;
    onKeyDown: (e?: any) => void;
    text: string;
    contentClass: string;
    ariaLabel?: string;
    private buttonClasses;
    private useAccessibilityFeature;
    private tooltipModel;
    private timeout;
    isFunction: (value: any) => boolean;
    created(): void;
    beforeDestroy(): void;
    mounted(): void;
    init(): void;
    get dataForPreset(): any;
    setproperty(presetProps: IButton): void;
    closeTooltipByKey(e: any): void;
    hideTooltip(e: any): void;
    showTooltip(e: any): void;
    validateIconValue(iconValue: any): boolean;
    getLinkUrl(linkUrl: string): string;
    renderIcon(icon: IIcon): VueTsxSupport.JSX.Element;
    render(): VueTsxSupport.JSX.Element;
}
