export declare class Button {
    /** Button style level (visual prominence). */
    readonly variant: "primary" | "secondary" | "tertiary";
    /** Color theme of the button. */
    readonly theme: "default" | "danger" | "inverse";
    /** Button size (xs, s, m, l). */
    readonly size: string;
    /** Wether the button is disabled and not clickable. */
    readonly disabled: boolean;
    internalHref: string;
    /** URL the Button should navigate to when clicked.  */
    readonly href: string;
    /** Where to open the link. */
    readonly target: string;
    /** Native button type. */
    readonly type: "button" | "submit" | "reset";
    /** If true, button stretches to fill the available width. */
    readonly fullWidth: boolean;
    /** Accessible label for screen readers when text is not enough */
    readonly ariaLabelText: string | null;
    el: HTMLIfxButtonElement;
    private focusableElement;
    private nativeButton;
    setInternalHref(newValue: string): void;
    /** Move keayboard focus to the button. */
    setFocus(): Promise<void>;
    private insertNativeButton;
    private handleFormAndInternalHref;
    private handleButtonWidth;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    componentWillRender(): void;
    private handleClick;
    private resetClickHandler;
    handleKeyDown(ev: KeyboardEvent): void;
    handleHostClick(event: Event): void;
    private handleFocus;
    render(): any;
    private getVariantClass;
    private getSizeClass;
    private getClassNames;
}
