import * as React from "react";
import type { PolymorphicProps } from "../typings";
interface OwnProps {
    /**
     * The content of the component.
     */
    children?: React.ReactNode | ((ctx: {
        disabled: boolean;
        focusedVisible: boolean;
    }) => React.ReactNode);
    /**
     * The className applied to the component.
     */
    className?: string | ((ctx: {
        disabled: boolean;
        focusedVisible: boolean;
    }) => string);
    /**
     * If `true`, the component will be disabled.
     * @default false
     */
    disabled?: boolean;
}
export type Props<E extends React.ElementType> = PolymorphicProps<E, OwnProps>;
declare const Button: <E extends React.ElementType<any>, R extends HTMLElement>(props: Props<E>, ref: React.Ref<R>) => JSX.Element;
export default Button;
