import type { JSXElementConstructor } from "react";
export interface UseButtonProps {
    elementType?: "button" | "a" | "span" | "input" | JSXElementConstructor<unknown> | undefined;
    type?: "button" | "submit" | "reset";
    isDisabled?: boolean;
    onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
    onPress?: (event: React.MouseEvent<HTMLButtonElement>) => void;
    href?: string;
    target?: string;
    rel?: string;
    role?: string;
    name?: string | undefined;
    value?: string | undefined;
}
export declare function useButton({ elementType, type, isDisabled, href, target, rel, role, name, value, onClick, onPress }: UseButtonProps): {
    buttonProps: {
        type: "button" | "reset" | "submit";
        role?: undefined;
        href: string | undefined;
        target: string | undefined;
        rel: string | undefined;
        tabIndex: number;
        disabled: true | undefined;
        "aria-disabled": true | undefined;
        name: string | undefined;
        value: string | undefined;
        onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
    } | {
        type?: undefined;
        role: string | undefined;
        href: string | undefined;
        target: string | undefined;
        rel: string | undefined;
        tabIndex: number;
        disabled: true | undefined;
        "aria-disabled": true | undefined;
        name: string | undefined;
        value: string | undefined;
        onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
    };
};
