import { Parser } from "aurelia-framework";
import { IMenuItems } from "../menu/ui-menus";
import { UIDrop } from "../shared/ui-drop";
export declare class UIButton {
    element: Element;
    private parser;
    icon: string;
    href: string;
    label: string;
    size: "nm" | "sm" | "md" | "lg";
    type: "default" | "outline" | "solid" | "tool" | "ghost";
    id: string;
    busy: boolean;
    active: boolean;
    disabled: boolean | string | Function;
    menuItems: IMenuItems[] | (() => IMenuItems[]);
    buttonVisible: boolean | string | ((obj: {
        record: KeyValue;
    }) => void);
    protected showCaret: boolean;
    protected current: AnyObject;
    protected textColor: string;
    protected backgroundColor: string;
    keyboardShortcut: string | string[];
    protected elDropdown: Element;
    protected hasDrop: boolean;
    protected dropEl: UIDrop;
    protected badgeEl: HTMLAnchorElement;
    protected split: boolean;
    private elDisabled;
    constructor(element: Element, parser: Parser);
    get isDisabled(): boolean;
    get tabIndex(): number;
    get style(): string;
    disable(disabled: boolean): void;
    protected attached(): void;
    detached(): void;
    protected hrefChanged(): void;
    protected fireKeydown(e: KeyboardEvent): boolean;
    protected fireClickInner($event: any): boolean;
    protected fireClick($event: any): boolean;
    private toggleDrop;
    isVisible(currentRecord: any): any;
    private handleShortcutsEvent;
    protected handleShortcuts(event: KeyboardEvent): Promise<boolean>;
}
