import { default as React, MouseEvent } from 'react';
import { ButtonProps as MiniProgramButtonProps } from '@tarojs/components';
import { BasicComponent } from '../../utils/typings';
type OmitMiniProgramButtonProps = Omit<MiniProgramButtonProps, 'size' | 'type' | 'onClick' | 'style'>;
export type ButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'danger';
export type ButtonSize = 'xlarge' | 'large' | 'normal' | 'small' | 'mini';
export type ButtonShape = 'square' | 'round';
export type ButtonFill = 'solid' | 'outline' | 'dashed' | 'none';
export interface ButtonProps extends BasicComponent, OmitMiniProgramButtonProps {
    color: string;
    shape: ButtonShape;
    type: ButtonType;
    size: ButtonSize;
    fill: ButtonFill;
    block: boolean;
    loading: boolean;
    disabled: boolean;
    icon: React.ReactNode;
    rightIcon: React.ReactNode;
    nativeType: 'submit' | 'reset' | 'button';
    onClick: (e: MouseEvent<HTMLButtonElement>) => void;
}
export declare const Button: React.ForwardRefExoticComponent<Omit<Partial<ButtonProps>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
export {};
