import * as React from "react";
import type { MergeElementProps } from "../../typings";
interface OwnProps {
    /**
     * The content of the component.
     */
    children?: React.ReactNode | ((ctx: {
        /** The `selected` state of the tab. */
        selected: boolean;
        /** The `disabled` state of the tab. */
        disabled: boolean;
        /** The `:focus-visible` state of the tab. */
        focusedVisible: boolean;
    }) => React.ReactNode);
    /**
     * The className applied to the component.
     */
    className?: string | ((ctx: {
        /** The `selected` state of the tab. */
        selected: boolean;
        /** The `disabled` state of the tab. */
        disabled: boolean;
        /** The `:focus-visible` state of the tab. */
        focusedVisible: boolean;
    }) => string);
    /**
     * If `true`, the tab will be disabled.
     * @default false
     */
    disabled?: boolean;
}
export type Props = Omit<MergeElementProps<"button", OwnProps>, "defaultChecked" | "defaultValue">;
declare const Tab: (props: Props, ref: React.Ref<HTMLButtonElement>) => JSX.Element;
export default Tab;
