import { UIView, UIViewBroadcastEvent } from "./UIView";
export declare class UIBaseButton extends UIView {
    _selected: boolean;
    _highlighted: boolean;
    _isPointerInside: boolean;
    _isToggleable: boolean;
    _hovered?: boolean;
    _focused?: boolean;
    constructor(elementID?: string, elementType?: string);
    set hovered(hovered: boolean);
    get hovered(): boolean;
    set highlighted(highlighted: boolean);
    get highlighted(): boolean;
    set focused(focused: boolean);
    get focused(): boolean;
    set selected(selected: boolean);
    get selected(): boolean;
    updateContentForCurrentState(): void;
    updateContentForNormalState(): void;
    updateContentForHoveredState(): void;
    updateContentForFocusedState(): void;
    updateContentForHighlightedState(): void;
    updateContentForSelectedState(): void;
    updateContentForSelectedAndHighlightedState(): void;
    set enabled(enabled: boolean);
    get enabled(): boolean;
    updateContentForCurrentEnabledState(): void;
    addStyleClass(styleClassName: string): void;
    didReceiveBroadcastEvent(event: UIViewBroadcastEvent): void;
    toggleSelectedState(): void;
    set isToggleable(isToggleable: boolean);
    get isToggleable(): boolean;
    layoutSubviews(): void;
    sendControlEventForKey(eventKey: string, nativeEvent: Event): void;
    static getEventCoordinatesInDocument(touchOrMouseEvent: any): {
        x: number;
        y: number;
    };
    static getElementPositionInDocument(el: {
        tagName: string;
        offsetLeft: number;
        scrollLeft: number;
        clientLeft: number;
        offsetTop: number;
        scrollTop: number;
        clientTop: number;
        offsetParent: any;
    }): {
        x: number;
        y: number;
    };
    static convertCoordinatesFromDocumentToElement(x: number, y: number, element: any): {
        x: number;
        y: number;
    };
    static getEventCoordinatesInElement(touchOrMouseEvent: any, element: any): {
        x: number;
        y: number;
    };
}
