import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { ButtonProps } from './Button.types';
import { WixStyleReactDefaultsOverride } from '../WixStyleReactDefaultsOverrideProvider';
declare class Button extends PureComponent<ButtonProps> {
    static contextType: React.Context<WixStyleReactDefaultsOverride>;
    static displayName: string;
    static propTypes: {
        as: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
        className: PropTypes.Requireable<string>;
        skin: PropTypes.Requireable<string>;
        priority: PropTypes.Requireable<string>;
        size: PropTypes.Requireable<string>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        fullWidth: PropTypes.Requireable<boolean>;
        suffixIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
        prefixIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
        disabled: PropTypes.Requireable<boolean>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        dataHook: PropTypes.Requireable<string>;
        ellipsis: PropTypes.Requireable<boolean>;
        showTooltip: PropTypes.Requireable<boolean>;
        tooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
    };
    constructor(props: ButtonProps);
    button: React.RefObject<HTMLButtonElement>;
    /**
     * Sets focus on the element
     */
    focus: () => void;
    render(): React.JSX.Element;
}
export default Button;
//# sourceMappingURL=Button.d.ts.map