import * as React from 'react';
import { XButton } from "./XButton";
import { ButtonDisplayStyle } from './ButtonDisplayStyle';
import { IgrButtonClickEventArgs } from './igr-button-click-event-args';
import { ControlDisplayDensity } from "igniteui-react-core";
import { BaseControlTheme } from "igniteui-react-core";
import { ElevationMode } from "igniteui-react-core";
import { HorizontalAlignment } from "igniteui-react-core";
import { VerticalAlignment } from "igniteui-react-core";
import { IgrFocusEventArgs } from "igniteui-react-core";
export declare class IgrXButton extends React.Component<IIgrXButtonProps> {
    private _container;
    private _initialized;
    private _elRef;
    private _portalManager;
    private _wrapper;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
        children: any[];
    }, any>;
    private requestRender;
    constructor(props: IIgrXButtonProps);
    private _onDisplayChanged;
    private _onFlexDirectionChanged;
    private _onFlexGrowChanged;
    private _onAlignItemsChanged;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    destroy(): void;
    componentWillUnmount(): void;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): XButton;
    protected _implementation: any;
    protected mounted: boolean;
    get nativeElement(): HTMLElement;
    /**
     * @hidden
     */
    get i(): XButton; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgrXButton;
    private _button;
    /**
 * Gets or sets the min width to use for the button.
*/
    get minWidth(): number;
    set minWidth(v: number);
    /**
     * Gets or sets the min height to use for the button.
    */
    get minHeight(): number;
    set minHeight(v: number);
    /**
     * Gets or sets the display style to use for the button.
    */
    get displayType(): ButtonDisplayStyle;
    set displayType(v: ButtonDisplayStyle);
    /**
     * Gets or sets the display density to use for the button.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    /**
     * Gets or sets the base built in theme to use for the button.
    */
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    /**
     * Gets the actual display density to use for the label.
    */
    get actualDensity(): ControlDisplayDensity;
    set actualDensity(v: ControlDisplayDensity);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualBorderColor(): string;
    set actualBorderColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualUmbraShadowColor(): string;
    set actualUmbraShadowColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualPenumbraShadowColor(): string;
    set actualPenumbraShadowColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualAmbientShadowColor(): string;
    set actualAmbientShadowColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualRestingElevation(): number;
    set actualRestingElevation(v: number);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualFocusElevation(): number;
    set actualFocusElevation(v: number);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualHoverElevation(): number;
    set actualHoverElevation(v: number);
    /**
     * Gets or sets the color to use for the ripple when the button is pressed.
    */
    get actualRippleColor(): string;
    set actualRippleColor(v: string);
    get actualCornerRadiusBottomRight(): number;
    set actualCornerRadiusBottomRight(v: number);
    get actualCornerRadiusBottomLeft(): number;
    set actualCornerRadiusBottomLeft(v: number);
    get actualCornerRadiusTopLeft(): number;
    set actualCornerRadiusTopLeft(v: number);
    get actualCornerRadiusTopRight(): number;
    set actualCornerRadiusTopRight(v: number);
    ensureActualCornerRadius(): void;
    /**
     * Gets the color to use for the actual background.
    */
    get actualBackgroundColor(): string;
    set actualBackgroundColor(v: string);
    /**
     * Gets the actual color to use for the disabled background of the button.
    */
    get actualDisabledBackgroundColor(): string;
    set actualDisabledBackgroundColor(v: string);
    /**
     * Gets the actual color to use for the disabled border of the button.
    */
    get actualDisabledBorderColor(): string;
    set actualDisabledBorderColor(v: string);
    /**
     * Gets the actual color to use for the disabled text of the button.
    */
    get actualDisabledTextColor(): string;
    set actualDisabledTextColor(v: string);
    /**
     * Gets the actual disabled elevation to use for the button.
    */
    get actualDisabledElevation(): number;
    set actualDisabledElevation(v: number);
    /**
     * Gets the actual disabled elevation to use for the button.
    */
    get actualElevationMode(): ElevationMode;
    set actualElevationMode(v: ElevationMode);
    /**
     * Gets the color to use for the actual background.
    */
    get actualTextColor(): string;
    set actualTextColor(v: string);
    /**
     * Gets the color to use for the actual background.
    */
    get actualHoverTextColor(): string;
    set actualHoverTextColor(v: string);
    /**
     * Gets the color to use for the actual background.
    */
    get actualFocusBackgroundColor(): string;
    set actualFocusBackgroundColor(v: string);
    /**
     * Gets the actual color to use for the focused text.
    */
    get actualFocusTextColor(): string;
    set actualFocusTextColor(v: string);
    /**
     * Gets the hover color to use for the actual background.
    */
    get actualHoverBackgroundColor(): string;
    set actualHoverBackgroundColor(v: string);
    /**
     * Gets or sets the Width to use for the check mark when the checkbox is checked.
    */
    get actualBorderWidth(): number;
    set actualBorderWidth(v: number);
    /**
     * Gets or sets the color to use for the background of the button when the  type is raised.
    */
    get raisedBackgroundColor(): string;
    set raisedBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is raised.
    */
    get raisedDisabledBackgroundColor(): string;
    set raisedDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is raised.
    */
    get raisedDisabledBorderColor(): string;
    set raisedDisabledBorderColor(v: string);
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is raised.
    */
    get raisedDisabledTextColor(): string;
    set raisedDisabledTextColor(v: string);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is raised.
    */
    get raisedDisabledElevation(): number;
    set raisedDisabledElevation(v: number);
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is raised.
    */
    get raisedHoverBackgroundColor(): string;
    set raisedHoverBackgroundColor(v: string);
    /**
     * Gets or sets the border color to use for the button when the type is raised.
    */
    get raisedBorderColor(): string;
    set raisedBorderColor(v: string);
    /**
     * Gets or sets the elevation to use for the button when the type is raised.
    */
    get raisedRestingElevation(): number;
    set raisedRestingElevation(v: number);
    /**
     * Gets or sets the hover elevation to use for the button when the type is raised.
    */
    get raisedHoverElevation(): number;
    set raisedHoverElevation(v: number);
    /**
     * Gets or sets the focus elevation to use for the button when the type is raised.
    */
    get raisedFocusElevation(): number;
    set raisedFocusElevation(v: number);
    /**
     * Gets or sets the width to use for the button border when the type is raised.
    */
    get raisedBorderWidth(): number;
    set raisedBorderWidth(v: number);
    get raisedCornerRadiusBottomRight(): number;
    set raisedCornerRadiusBottomRight(v: number);
    get raisedCornerRadiusBottomLeft(): number;
    set raisedCornerRadiusBottomLeft(v: number);
    get raisedCornerRadiusTopLeft(): number;
    set raisedCornerRadiusTopLeft(v: number);
    get raisedCornerRadiusTopRight(): number;
    set raisedCornerRadiusTopRight(v: number);
    ensureRaisedCornerRadius(): void;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    get raisedRippleColor(): string;
    set raisedRippleColor(v: string);
    /**
     * Gets or sets the color to use for the background of the button when the type is flat.
    */
    get flatBackgroundColor(): string;
    set flatBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is flat.
    */
    get flatDisabledBackgroundColor(): string;
    set flatDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is flat.
    */
    get flatDisabledBorderColor(): string;
    set flatDisabledBorderColor(v: string);
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is flat.
    */
    get flatDisabledTextColor(): string;
    set flatDisabledTextColor(v: string);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is flat.
    */
    get flatDisabledElevation(): number;
    set flatDisabledElevation(v: number);
    /**
     * Gets or sets the hover color to use for the background of the button when the type is flat.
    */
    get flatHoverBackgroundColor(): string;
    set flatHoverBackgroundColor(v: string);
    /**
     * Gets or sets the border color to use for the button when the type is flat.
    */
    get flatBorderColor(): string;
    set flatBorderColor(v: string);
    /**
     * Gets or sets the elevation to use for the button when the type is flat.
    */
    get flatRestingElevation(): number;
    set flatRestingElevation(v: number);
    /**
     * Gets or sets the hover elevation to use for the button when the type is flat.
    */
    get flatHoverElevation(): number;
    set flatHoverElevation(v: number);
    /**
     * Gets or sets the focus elevation to use for the button when the type is flat.
    */
    get flatFocusElevation(): number;
    set flatFocusElevation(v: number);
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    get flatRippleColor(): string;
    set flatRippleColor(v: string);
    /**
     * Gets or sets the color to use for the text of the button when type is flat.
    */
    get flatTextColor(): string;
    set flatTextColor(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button when type is flat.
    */
    get flatHoverTextColor(): string;
    set flatHoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the backround the button when it is focused and flat.
    */
    get flatFocusBackgroundColor(): string;
    set flatFocusBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text the button when it is focused and flat.
    */
    get flatFocusTextColor(): string;
    set flatFocusTextColor(v: string);
    /**
     * Gets or sets the width to use for the button border when the type is flat.
    */
    get flatBorderWidth(): number;
    set flatBorderWidth(v: number);
    get flatCornerRadiusBottomRight(): number;
    set flatCornerRadiusBottomRight(v: number);
    get flatCornerRadiusBottomLeft(): number;
    set flatCornerRadiusBottomLeft(v: number);
    get flatCornerRadiusTopLeft(): number;
    set flatCornerRadiusTopLeft(v: number);
    get flatCornerRadiusTopRight(): number;
    set flatCornerRadiusTopRight(v: number);
    ensureFlatCornerRadius(): void;
    /**
     * Gets or sets the color to use for the background when the button regardless of type.
    */
    get backgroundColor(): string;
    set backgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is disabled.
    */
    get disabledBackgroundColor(): string;
    set disabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is raised.
    */
    get disabledBorderColor(): string;
    set disabledBorderColor(v: string);
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is raised.
    */
    get disabledTextColor(): string;
    set disabledTextColor(v: string);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is raised.
    */
    get disabledElevation(): number;
    set disabledElevation(v: number);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is raised.
    */
    get elevationMode(): ElevationMode;
    set elevationMode(v: ElevationMode);
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hovered.
    */
    get hoverBackgroundColor(): string;
    set hoverBackgroundColor(v: string);
    /**
     * Gets or sets the border color to use for the button regardless of type.
    */
    get borderColor(): string;
    set borderColor(v: string);
    /**
     * Gets or sets the elevation to use for the button regardless of type.
    */
    get restingElevation(): number;
    set restingElevation(v: number);
    /**
     * Gets or sets the hover elevation to use for the button regardless of type.
    */
    get hoverElevation(): number;
    set hoverElevation(v: number);
    /**
     * Gets or sets the focus elevation to use for the button regardless of type.
    */
    get focusElevation(): number;
    set focusElevation(v: number);
    /**
     * Gets or sets the use for the button.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or sets the color to use for the text of the button regardless of type.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button regardless of type.
    */
    get hoverTextColor(): string;
    set hoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the background of the button regardless of type.
    */
    get rippleColor(): string;
    set rippleColor(v: string);
    /**
     * Gets or sets the color to use for the text of the button when type is raised.
    */
    get raisedTextColor(): string;
    set raisedTextColor(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button when type is raised.
    */
    get raisedHoverTextColor(): string;
    set raisedHoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the backround the button when it is focused and raised.
    */
    get raisedFocusBackgroundColor(): string;
    set raisedFocusBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text the button when it is focused and raised.
    */
    get raisedFocusTextColor(): string;
    set raisedFocusTextColor(v: string);
    /**
     * Gets or sets the color to use for the backround the button when it is focused.
    */
    get focusBackgroundColor(): string;
    set focusBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text of the button when it is focused.
    */
    get focusTextColor(): string;
    set focusTextColor(v: string);
    /**
     * Gets or sets the width to use for the button border regardless of type.
    */
    get borderWidth(): number;
    set borderWidth(v: number);
    get cornerRadiusBottomRight(): number;
    set cornerRadiusBottomRight(v: number);
    get cornerRadiusBottomLeft(): number;
    set cornerRadiusBottomLeft(v: number);
    get cornerRadiusTopLeft(): number;
    set cornerRadiusTopLeft(v: number);
    get cornerRadiusTopRight(): number;
    set cornerRadiusTopRight(v: number);
    ensureCornerRadius(): void;
    /**
     * Gets or sets the color to use for the background of the button when the  type is outlined.
    */
    get outlinedBackgroundColor(): string;
    set outlinedBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is outlined.
    */
    get outlinedDisabledBackgroundColor(): string;
    set outlinedDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is outlined.
    */
    get outlinedDisabledBorderColor(): string;
    set outlinedDisabledBorderColor(v: string);
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is outlined.
    */
    get outlinedDisabledTextColor(): string;
    set outlinedDisabledTextColor(v: string);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is outlined.
    */
    get outlinedDisabledElevation(): number;
    set outlinedDisabledElevation(v: number);
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hoveredOutlined.
    */
    get outlinedHoverBackgroundColor(): string;
    set outlinedHoverBackgroundColor(v: string);
    /**
     * Gets or sets the border color to use for the button when the type is outlined.
    */
    get outlinedBorderColor(): string;
    set outlinedBorderColor(v: string);
    /**
     * Gets or sets the elevation to use for the button when the type is outlined.
    */
    get outlinedRestingElevation(): number;
    set outlinedRestingElevation(v: number);
    /**
     * Gets or sets the hover elevation to use for the button when the type is outlined.
    */
    get outlinedHoverElevation(): number;
    set outlinedHoverElevation(v: number);
    /**
     * Gets or sets the focus elevation to use for the button when the type is outlined.
    */
    get outlinedFocusElevation(): number;
    set outlinedFocusElevation(v: number);
    /**
     * Gets or sets the width to use for the button border when the type is outlined.
    */
    get outlinedBorderWidth(): number;
    set outlinedBorderWidth(v: number);
    get outlinedCornerRadiusBottomRight(): number;
    set outlinedCornerRadiusBottomRight(v: number);
    get outlinedCornerRadiusBottomLeft(): number;
    set outlinedCornerRadiusBottomLeft(v: number);
    get outlinedCornerRadiusTopLeft(): number;
    set outlinedCornerRadiusTopLeft(v: number);
    get outlinedCornerRadiusTopRight(): number;
    set outlinedCornerRadiusTopRight(v: number);
    ensureOutlinedCornerRadius(): void;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    get outlinedRippleColor(): string;
    set outlinedRippleColor(v: string);
    /**
     * Gets or sets the color to use for the text of the button when type is outlined.
    */
    get outlinedTextColor(): string;
    set outlinedTextColor(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button when type is outlined.
    */
    get outlinedHoverTextColor(): string;
    set outlinedHoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the backround the button when it is focused and outlined.
    */
    get outlinedFocusBackgroundColor(): string;
    set outlinedFocusBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text the button when it is focused and outlined.
    */
    get outlinedFocusTextColor(): string;
    set outlinedFocusTextColor(v: string);
    /**
     * Gets or sets the color to use for the background of the button when the  type is floating action button.
    */
    get fabBackgroundColor(): string;
    set fabBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is fab.
    */
    get fabDisabledBackgroundColor(): string;
    set fabDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is fab.
    */
    get fabDisabledBorderColor(): string;
    set fabDisabledBorderColor(v: string);
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is fab.
    */
    get fabDisabledTextColor(): string;
    set fabDisabledTextColor(v: string);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is fab.
    */
    get fabDisabledElevation(): number;
    set fabDisabledElevation(v: number);
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hoveredFab.
    */
    get fabHoverBackgroundColor(): string;
    set fabHoverBackgroundColor(v: string);
    /**
     * Gets or sets the border color to use for the button when the type is floating action button.
    */
    get fabBorderColor(): string;
    set fabBorderColor(v: string);
    /**
     * Gets or sets the elevation to use for the button when the type is floating action button.
    */
    get fabRestingElevation(): number;
    set fabRestingElevation(v: number);
    /**
     * Gets or sets the hover elevation to use for the button when the type is floating action button.
    */
    get fabHoverElevation(): number;
    set fabHoverElevation(v: number);
    /**
     * Gets or sets the focus elevation to use for the button when the type is floating action button.
    */
    get fabFocusElevation(): number;
    set fabFocusElevation(v: number);
    /**
     * Gets or sets the width to use for the button border when the type is floating action button.
    */
    get fabBorderWidth(): number;
    set fabBorderWidth(v: number);
    get fabCornerRadiusBottomRight(): number;
    set fabCornerRadiusBottomRight(v: number);
    get fabCornerRadiusBottomLeft(): number;
    set fabCornerRadiusBottomLeft(v: number);
    get fabCornerRadiusTopLeft(): number;
    set fabCornerRadiusTopLeft(v: number);
    get fabCornerRadiusTopRight(): number;
    set fabCornerRadiusTopRight(v: number);
    ensureFabCornerRadius(): void;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    get fabRippleColor(): string;
    set fabRippleColor(v: string);
    /**
     * Gets or sets the color to use for the text of the button when type is floating action button.
    */
    get fabTextColor(): string;
    set fabTextColor(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button when type is floating action button.
    */
    get fabHoverTextColor(): string;
    set fabHoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the backround the button when it is focused and fab.
    */
    get fabFocusBackgroundColor(): string;
    set fabFocusBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text the button when it is focused and fab.
    */
    get fabFocusTextColor(): string;
    set fabFocusTextColor(v: string);
    /**
     * Gets or sets the color to use for the background of the button when the  type is icon.
    */
    get iconBackgroundColor(): string;
    set iconBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is icon.
    */
    get iconDisabledBackgroundColor(): string;
    set iconDisabledBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is icon.
    */
    get iconDisabledBorderColor(): string;
    set iconDisabledBorderColor(v: string);
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is icon.
    */
    get iconDisabledTextColor(): string;
    set iconDisabledTextColor(v: string);
    /**
     * Gets or sets the disabled elevation to use for the button when the type is icon.
    */
    get iconDisabledElevation(): number;
    set iconDisabledElevation(v: number);
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hoveredIcon.
    */
    get iconHoverBackgroundColor(): string;
    set iconHoverBackgroundColor(v: string);
    /**
     * Gets or sets the border color to use for the button when the type is icon.
    */
    get iconBorderColor(): string;
    set iconBorderColor(v: string);
    /**
     * Gets or sets the elevation to use for the button when the type is icon.
    */
    get iconRestingElevation(): number;
    set iconRestingElevation(v: number);
    /**
     * Gets or sets the hover elevation to use for the button when the type is icon.
    */
    get iconHoverElevation(): number;
    set iconHoverElevation(v: number);
    /**
     * Gets or sets the focus elevation to use for the button when the type is icon.
    */
    get iconFocusElevation(): number;
    set iconFocusElevation(v: number);
    /**
     * Gets or sets the width to use for the button border when the type is icon.
    */
    get iconBorderWidth(): number;
    set iconBorderWidth(v: number);
    get iconCornerRadiusBottomRight(): number;
    set iconCornerRadiusBottomRight(v: number);
    get iconCornerRadiusBottomLeft(): number;
    set iconCornerRadiusBottomLeft(v: number);
    get iconCornerRadiusTopLeft(): number;
    set iconCornerRadiusTopLeft(v: number);
    get iconCornerRadiusTopRight(): number;
    set iconCornerRadiusTopRight(v: number);
    ensureIconCornerRadius(): void;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    get iconRippleColor(): string;
    set iconRippleColor(v: string);
    /**
     * Gets or sets the color to use for the text of the button when type is icon.
    */
    get iconTextColor(): string;
    set iconTextColor(v: string);
    /**
     * Gets or sets the color to use for the hovered text of the button when type is icon.
    */
    get iconHoverTextColor(): string;
    set iconHoverTextColor(v: string);
    /**
     * Gets or sets the color to use for the backround the button when it is focused and icon.
    */
    get iconFocusBackgroundColor(): string;
    set iconFocusBackgroundColor(v: string);
    /**
     * Gets or sets the color to use for the text the button when it is focused and icon.
    */
    get iconFocusTextColor(): string;
    set iconFocusTextColor(v: string);
    /**
     * Gets or sets the id to use for the internal native checkbox.
    */
    get inputId(): string;
    set inputId(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get id(): string;
    set id(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get display(): string;
    set display(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get flexDirection(): string;
    set flexDirection(v: string);
    /**
     * Gets or sets the flex-grow setting for the button.
    */
    get flexGrow(): string;
    set flexGrow(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get alignItems(): string;
    set alignItems(v: string);
    /**
     * Gets or sets value to use for the checkbox.
    */
    get value(): any;
    set value(v: any);
    /**
     * Gets or sets name to use for the button.
    */
    get name(): string;
    set name(v: string);
    /**
     * Gets or sets TabIndex to use for the checkbox.
    */
    get tabIndex(): number;
    set tabIndex(v: number);
    /**
     * Gets or sets the value of the aria-label attribute.
    */
    get ariaLabel(): string;
    set ariaLabel(v: string);
    /**
     * Gets or sets whether the button should fill the available space. If false, the button
     * will use an intrinsic size.
    */
    get fillAvailableSpace(): boolean;
    set fillAvailableSpace(v: boolean);
    /**
     * Gets or sets if the checkbox is Focused.
    */
    get focused(): boolean;
    set focused(v: boolean);
    /**
     * Gets or sets if the button show use styling to show focus.
    */
    get isFocusStyleEnabled(): boolean;
    set isFocusStyleEnabled(v: boolean);
    /**
     * Gets or sets whether to disable the ripple effect for the button.
    */
    get disableRipple(): boolean;
    set disableRipple(v: boolean);
    /**
     * Gets whether to actually disable the ripple effect for the button.
    */
    get actualDisableRipple(): boolean;
    set actualDisableRipple(v: boolean);
    /**
     * Gets or sets whether the hover effect is disabled.
    */
    get disableHover(): boolean;
    set disableHover(v: boolean);
    /**
     * Gets or sets whether the checkbox is checked.
    */
    get isHover(): boolean;
    set isHover(v: boolean);
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    get disabled(): boolean;
    set disabled(v: boolean);
    /**
     * Gets or sets whether the checkbox transitions are disabled.
    */
    get disableTransitions(): boolean;
    set disableTransitions(v: boolean);
    /**
     * Gets or sets whether the cursor will change into a pointer when the button is hovered.
    */
    get disablePointer(): boolean;
    set disablePointer(v: boolean);
    /**
     * Gets or sets the left padding for the button content.
    */
    get contentPaddingLeft(): number;
    set contentPaddingLeft(v: number);
    /**
     * Gets or sets the top padding for the button content.
    */
    get contentPaddingTop(): number;
    set contentPaddingTop(v: number);
    /**
     * Gets or sets the right padding for the button content.
    */
    get contentPaddingRight(): number;
    set contentPaddingRight(v: number);
    /**
     * Gets or sets the bottom padding for the button content.
    */
    get contentPaddingBottom(): number;
    set contentPaddingBottom(v: number);
    get horizontalContentAlignment(): HorizontalAlignment;
    set horizontalContentAlignment(v: HorizontalAlignment);
    get verticalContentAlignment(): VerticalAlignment;
    set verticalContentAlignment(v: VerticalAlignment);
    /**
     * Gets or sets if clicking on the button is allowed to tunnel down to button content.
    */
    get clickTunneling(): boolean;
    set clickTunneling(v: boolean);
    /**
     * Gets or sets whether mouse events on the button will bubble up to parent elements.
    */
    get stopPropagation(): boolean;
    set stopPropagation(v: boolean);
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    private _clicked;
    private _clicked_wrapped;
    get clicked(): (s: IgrXButton, e: IgrButtonClickEventArgs) => void;
    set clicked(ev: (s: IgrXButton, e: IgrButtonClickEventArgs) => void);
    private _gotFocus;
    private _gotFocus_wrapped;
    get gotFocus(): (s: IgrXButton, e: IgrFocusEventArgs) => void;
    set gotFocus(ev: (s: IgrXButton, e: IgrFocusEventArgs) => void);
    private _lostFocus;
    private _lostFocus_wrapped;
    get lostFocus(): (s: IgrXButton, e: IgrFocusEventArgs) => void;
    set lostFocus(ev: (s: IgrXButton, e: IgrFocusEventArgs) => void);
}
export interface IIgrXButtonProps {
    children?: React.ReactNode;
    /**
 * Gets or sets the min width to use for the button.
*/
    minWidth?: number | string;
    /**
     * Gets or sets the min height to use for the button.
    */
    minHeight?: number | string;
    /**
     * Gets or sets the display style to use for the button.
    */
    displayType?: ButtonDisplayStyle | string;
    /**
     * Gets or sets the display density to use for the button.
    */
    density?: ControlDisplayDensity | string;
    /**
     * Gets or sets the base built in theme to use for the button.
    */
    baseTheme?: BaseControlTheme | string;
    /**
     * Gets the actual display density to use for the label.
    */
    actualDensity?: ControlDisplayDensity | string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualBorderColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualUmbraShadowColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualPenumbraShadowColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualAmbientShadowColor?: string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualRestingElevation?: number | string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualFocusElevation?: number | string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    actualHoverElevation?: number | string;
    /**
     * Gets or sets the color to use for the ripple when the button is pressed.
    */
    actualRippleColor?: string;
    actualCornerRadiusBottomRight?: number | string;
    actualCornerRadiusBottomLeft?: number | string;
    actualCornerRadiusTopLeft?: number | string;
    actualCornerRadiusTopRight?: number | string;
    /**
     * Gets the color to use for the actual background.
    */
    actualBackgroundColor?: string;
    /**
     * Gets the actual color to use for the disabled background of the button.
    */
    actualDisabledBackgroundColor?: string;
    /**
     * Gets the actual color to use for the disabled border of the button.
    */
    actualDisabledBorderColor?: string;
    /**
     * Gets the actual color to use for the disabled text of the button.
    */
    actualDisabledTextColor?: string;
    /**
     * Gets the actual disabled elevation to use for the button.
    */
    actualDisabledElevation?: number | string;
    /**
     * Gets the actual disabled elevation to use for the button.
    */
    actualElevationMode?: ElevationMode | string;
    /**
     * Gets the color to use for the actual background.
    */
    actualTextColor?: string;
    /**
     * Gets the color to use for the actual background.
    */
    actualHoverTextColor?: string;
    /**
     * Gets the color to use for the actual background.
    */
    actualFocusBackgroundColor?: string;
    /**
     * Gets the actual color to use for the focused text.
    */
    actualFocusTextColor?: string;
    /**
     * Gets the hover color to use for the actual background.
    */
    actualHoverBackgroundColor?: string;
    /**
     * Gets or sets the Width to use for the check mark when the checkbox is checked.
    */
    actualBorderWidth?: number | string;
    /**
     * Gets or sets the color to use for the background of the button when the  type is raised.
    */
    raisedBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is raised.
    */
    raisedDisabledBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is raised.
    */
    raisedDisabledBorderColor?: string;
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is raised.
    */
    raisedDisabledTextColor?: string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is raised.
    */
    raisedDisabledElevation?: number | string;
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is raised.
    */
    raisedHoverBackgroundColor?: string;
    /**
     * Gets or sets the border color to use for the button when the type is raised.
    */
    raisedBorderColor?: string;
    /**
     * Gets or sets the elevation to use for the button when the type is raised.
    */
    raisedRestingElevation?: number | string;
    /**
     * Gets or sets the hover elevation to use for the button when the type is raised.
    */
    raisedHoverElevation?: number | string;
    /**
     * Gets or sets the focus elevation to use for the button when the type is raised.
    */
    raisedFocusElevation?: number | string;
    /**
     * Gets or sets the width to use for the button border when the type is raised.
    */
    raisedBorderWidth?: number | string;
    raisedCornerRadiusBottomRight?: number | string;
    raisedCornerRadiusBottomLeft?: number | string;
    raisedCornerRadiusTopLeft?: number | string;
    raisedCornerRadiusTopRight?: number | string;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    raisedRippleColor?: string;
    /**
     * Gets or sets the color to use for the background of the button when the type is flat.
    */
    flatBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is flat.
    */
    flatDisabledBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is flat.
    */
    flatDisabledBorderColor?: string;
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is flat.
    */
    flatDisabledTextColor?: string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is flat.
    */
    flatDisabledElevation?: number | string;
    /**
     * Gets or sets the hover color to use for the background of the button when the type is flat.
    */
    flatHoverBackgroundColor?: string;
    /**
     * Gets or sets the border color to use for the button when the type is flat.
    */
    flatBorderColor?: string;
    /**
     * Gets or sets the elevation to use for the button when the type is flat.
    */
    flatRestingElevation?: number | string;
    /**
     * Gets or sets the hover elevation to use for the button when the type is flat.
    */
    flatHoverElevation?: number | string;
    /**
     * Gets or sets the focus elevation to use for the button when the type is flat.
    */
    flatFocusElevation?: number | string;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    flatRippleColor?: string;
    /**
     * Gets or sets the color to use for the text of the button when type is flat.
    */
    flatTextColor?: string;
    /**
     * Gets or sets the color to use for the hovered text of the button when type is flat.
    */
    flatHoverTextColor?: string;
    /**
     * Gets or sets the color to use for the backround the button when it is focused and flat.
    */
    flatFocusBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the text the button when it is focused and flat.
    */
    flatFocusTextColor?: string;
    /**
     * Gets or sets the width to use for the button border when the type is flat.
    */
    flatBorderWidth?: number | string;
    flatCornerRadiusBottomRight?: number | string;
    flatCornerRadiusBottomLeft?: number | string;
    flatCornerRadiusTopLeft?: number | string;
    flatCornerRadiusTopRight?: number | string;
    /**
     * Gets or sets the color to use for the background when the button regardless of type.
    */
    backgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is disabled.
    */
    disabledBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is raised.
    */
    disabledBorderColor?: string;
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is raised.
    */
    disabledTextColor?: string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is raised.
    */
    disabledElevation?: number | string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is raised.
    */
    elevationMode?: ElevationMode | string;
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hovered.
    */
    hoverBackgroundColor?: string;
    /**
     * Gets or sets the border color to use for the button regardless of type.
    */
    borderColor?: string;
    /**
     * Gets or sets the elevation to use for the button regardless of type.
    */
    restingElevation?: number | string;
    /**
     * Gets or sets the hover elevation to use for the button regardless of type.
    */
    hoverElevation?: number | string;
    /**
     * Gets or sets the focus elevation to use for the button regardless of type.
    */
    focusElevation?: number | string;
    /**
     * Gets or sets the use for the button.
    */
    textStyle?: string;
    /**
     * Gets or sets the color to use for the text of the button regardless of type.
    */
    textColor?: string;
    /**
     * Gets or sets the color to use for the hovered text of the button regardless of type.
    */
    hoverTextColor?: string;
    /**
     * Gets or sets the color to use for the background of the button regardless of type.
    */
    rippleColor?: string;
    /**
     * Gets or sets the color to use for the text of the button when type is raised.
    */
    raisedTextColor?: string;
    /**
     * Gets or sets the color to use for the hovered text of the button when type is raised.
    */
    raisedHoverTextColor?: string;
    /**
     * Gets or sets the color to use for the backround the button when it is focused and raised.
    */
    raisedFocusBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the text the button when it is focused and raised.
    */
    raisedFocusTextColor?: string;
    /**
     * Gets or sets the color to use for the backround the button when it is focused.
    */
    focusBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the text of the button when it is focused.
    */
    focusTextColor?: string;
    /**
     * Gets or sets the width to use for the button border regardless of type.
    */
    borderWidth?: number | string;
    cornerRadiusBottomRight?: number | string;
    cornerRadiusBottomLeft?: number | string;
    cornerRadiusTopLeft?: number | string;
    cornerRadiusTopRight?: number | string;
    /**
     * Gets or sets the color to use for the background of the button when the  type is outlined.
    */
    outlinedBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is outlined.
    */
    outlinedDisabledBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is outlined.
    */
    outlinedDisabledBorderColor?: string;
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is outlined.
    */
    outlinedDisabledTextColor?: string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is outlined.
    */
    outlinedDisabledElevation?: number | string;
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hoveredOutlined.
    */
    outlinedHoverBackgroundColor?: string;
    /**
     * Gets or sets the border color to use for the button when the type is outlined.
    */
    outlinedBorderColor?: string;
    /**
     * Gets or sets the elevation to use for the button when the type is outlined.
    */
    outlinedRestingElevation?: number | string;
    /**
     * Gets or sets the hover elevation to use for the button when the type is outlined.
    */
    outlinedHoverElevation?: number | string;
    /**
     * Gets or sets the focus elevation to use for the button when the type is outlined.
    */
    outlinedFocusElevation?: number | string;
    /**
     * Gets or sets the width to use for the button border when the type is outlined.
    */
    outlinedBorderWidth?: number | string;
    outlinedCornerRadiusBottomRight?: number | string;
    outlinedCornerRadiusBottomLeft?: number | string;
    outlinedCornerRadiusTopLeft?: number | string;
    outlinedCornerRadiusTopRight?: number | string;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    outlinedRippleColor?: string;
    /**
     * Gets or sets the color to use for the text of the button when type is outlined.
    */
    outlinedTextColor?: string;
    /**
     * Gets or sets the color to use for the hovered text of the button when type is outlined.
    */
    outlinedHoverTextColor?: string;
    /**
     * Gets or sets the color to use for the backround the button when it is focused and outlined.
    */
    outlinedFocusBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the text the button when it is focused and outlined.
    */
    outlinedFocusTextColor?: string;
    /**
     * Gets or sets the color to use for the background of the button when the  type is floating action button.
    */
    fabBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is fab.
    */
    fabDisabledBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is fab.
    */
    fabDisabledBorderColor?: string;
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is fab.
    */
    fabDisabledTextColor?: string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is fab.
    */
    fabDisabledElevation?: number | string;
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hoveredFab.
    */
    fabHoverBackgroundColor?: string;
    /**
     * Gets or sets the border color to use for the button when the type is floating action button.
    */
    fabBorderColor?: string;
    /**
     * Gets or sets the elevation to use for the button when the type is floating action button.
    */
    fabRestingElevation?: number | string;
    /**
     * Gets or sets the hover elevation to use for the button when the type is floating action button.
    */
    fabHoverElevation?: number | string;
    /**
     * Gets or sets the focus elevation to use for the button when the type is floating action button.
    */
    fabFocusElevation?: number | string;
    /**
     * Gets or sets the width to use for the button border when the type is floating action button.
    */
    fabBorderWidth?: number | string;
    fabCornerRadiusBottomRight?: number | string;
    fabCornerRadiusBottomLeft?: number | string;
    fabCornerRadiusTopLeft?: number | string;
    fabCornerRadiusTopRight?: number | string;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    fabRippleColor?: string;
    /**
     * Gets or sets the color to use for the text of the button when type is floating action button.
    */
    fabTextColor?: string;
    /**
     * Gets or sets the color to use for the hovered text of the button when type is floating action button.
    */
    fabHoverTextColor?: string;
    /**
     * Gets or sets the color to use for the backround the button when it is focused and fab.
    */
    fabFocusBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the text the button when it is focused and fab.
    */
    fabFocusTextColor?: string;
    /**
     * Gets or sets the color to use for the background of the button when the  type is icon.
    */
    iconBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled background of the button when the type is icon.
    */
    iconDisabledBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the disabled border of the button when the type is icon.
    */
    iconDisabledBorderColor?: string;
    /**
     * Gets or sets the color to use for the disabled text of the button when the type is icon.
    */
    iconDisabledTextColor?: string;
    /**
     * Gets or sets the disabled elevation to use for the button when the type is icon.
    */
    iconDisabledElevation?: number | string;
    /**
     * Gets or sets the hover color to use for the background of the button when the  type is hoveredIcon.
    */
    iconHoverBackgroundColor?: string;
    /**
     * Gets or sets the border color to use for the button when the type is icon.
    */
    iconBorderColor?: string;
    /**
     * Gets or sets the elevation to use for the button when the type is icon.
    */
    iconRestingElevation?: number | string;
    /**
     * Gets or sets the hover elevation to use for the button when the type is icon.
    */
    iconHoverElevation?: number | string;
    /**
     * Gets or sets the focus elevation to use for the button when the type is icon.
    */
    iconFocusElevation?: number | string;
    /**
     * Gets or sets the width to use for the button border when the type is icon.
    */
    iconBorderWidth?: number | string;
    iconCornerRadiusBottomRight?: number | string;
    iconCornerRadiusBottomLeft?: number | string;
    iconCornerRadiusTopLeft?: number | string;
    iconCornerRadiusTopRight?: number | string;
    /**
     * Gets or sets the color to use for the background when the button is pressed and the type is floating action button.
    */
    iconRippleColor?: string;
    /**
     * Gets or sets the color to use for the text of the button when type is icon.
    */
    iconTextColor?: string;
    /**
     * Gets or sets the color to use for the hovered text of the button when type is icon.
    */
    iconHoverTextColor?: string;
    /**
     * Gets or sets the color to use for the backround the button when it is focused and icon.
    */
    iconFocusBackgroundColor?: string;
    /**
     * Gets or sets the color to use for the text the button when it is focused and icon.
    */
    iconFocusTextColor?: string;
    /**
     * Gets or sets the id to use for the internal native checkbox.
    */
    inputId?: string;
    /**
     * Gets or sets the id to use for the checkbox.
    */
    id?: string;
    /**
     * Gets or sets the id to use for the checkbox.
    */
    display?: string;
    /**
     * Gets or sets the id to use for the checkbox.
    */
    flexDirection?: string;
    /**
     * Gets or sets the flex-grow setting for the button.
    */
    flexGrow?: string;
    /**
     * Gets or sets the id to use for the checkbox.
    */
    alignItems?: string;
    /**
     * Gets or sets value to use for the checkbox.
    */
    value?: any;
    /**
     * Gets or sets name to use for the button.
    */
    name?: string;
    /**
     * Gets or sets TabIndex to use for the checkbox.
    */
    tabIndex?: number | string;
    /**
     * Gets or sets the value of the aria-label attribute.
    */
    ariaLabel?: string;
    /**
     * Gets or sets whether the button should fill the available space. If false, the button
     * will use an intrinsic size.
    */
    fillAvailableSpace?: boolean | string;
    /**
     * Gets or sets if the checkbox is Focused.
    */
    focused?: boolean | string;
    /**
     * Gets or sets if the button show use styling to show focus.
    */
    isFocusStyleEnabled?: boolean | string;
    /**
     * Gets or sets whether to disable the ripple effect for the button.
    */
    disableRipple?: boolean | string;
    /**
     * Gets whether to actually disable the ripple effect for the button.
    */
    actualDisableRipple?: boolean | string;
    /**
     * Gets or sets whether the hover effect is disabled.
    */
    disableHover?: boolean | string;
    /**
     * Gets or sets whether the checkbox is checked.
    */
    isHover?: boolean | string;
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    disabled?: boolean | string;
    /**
     * Gets or sets whether the checkbox transitions are disabled.
    */
    disableTransitions?: boolean | string;
    /**
     * Gets or sets whether the cursor will change into a pointer when the button is hovered.
    */
    disablePointer?: boolean | string;
    /**
     * Gets or sets the left padding for the button content.
    */
    contentPaddingLeft?: number | string;
    /**
     * Gets or sets the top padding for the button content.
    */
    contentPaddingTop?: number | string;
    /**
     * Gets or sets the right padding for the button content.
    */
    contentPaddingRight?: number | string;
    /**
     * Gets or sets the bottom padding for the button content.
    */
    contentPaddingBottom?: number | string;
    horizontalContentAlignment?: HorizontalAlignment | string;
    verticalContentAlignment?: VerticalAlignment | string;
    /**
     * Gets or sets if clicking on the button is allowed to tunnel down to button content.
    */
    clickTunneling?: boolean | string;
    /**
     * Gets or sets whether mouse events on the button will bubble up to parent elements.
    */
    stopPropagation?: boolean | string;
    clicked?: (s: IgrXButton, e: IgrButtonClickEventArgs) => void;
    gotFocus?: (s: IgrXButton, e: IgrFocusEventArgs) => void;
    lostFocus?: (s: IgrXButton, e: IgrFocusEventArgs) => void;
}
