import React from 'react';
import type { ButtonProps as BPS } from '@tarojs/components';
import { NativeProps } from 'antd-mobile/es/utils/native-props';
export declare type ButtonProps = Pick<BPS, 'onTouchStart' | 'onTouchEnd' | 'onClick'> & {
    color?: 'default' | 'primary' | 'success' | 'warning' | 'danger';
    fill?: 'solid' | 'outline' | 'none';
    size?: 'mini' | 'small' | 'middle' | 'large';
    block?: boolean;
    loading?: boolean | 'auto';
    loadingText?: string;
    loadingIcon?: React.ReactNode;
    disabled?: boolean;
    shape?: 'default' | 'rounded' | 'rectangular';
    children?: React.ReactNode;
} & NativeProps<'--text-color' | '--background-color' | '--border-radius' | '--border-width' | '--border-style' | '--border-color'>;
export declare type ButtonRef = {
    nativeElement: HTMLButtonElement | null;
};
export declare const Button: React.ForwardRefExoticComponent<Pick<BPS, "onTouchStart" | "onTouchEnd" | "onClick"> & {
    color?: "default" | "primary" | "success" | "warning" | "danger" | undefined;
    fill?: "none" | "solid" | "outline" | undefined;
    size?: "small" | "large" | "middle" | "mini" | undefined;
    block?: boolean | undefined;
    loading?: boolean | "auto" | undefined;
    loadingText?: string | undefined;
    loadingIcon?: React.ReactNode;
    disabled?: boolean | undefined;
    shape?: "default" | "rounded" | "rectangular" | undefined;
    children?: React.ReactNode;
} & {
    className?: string | undefined;
    style?: (React.CSSProperties & Partial<Record<"--text-color" | "--background-color" | "--border-radius" | "--border-width" | "--border-style" | "--border-color", string>>) | undefined;
    tabIndex?: number | undefined;
} & React.AriaAttributes & React.RefAttributes<ButtonRef>>;
