import * as React from 'react'; import type { AnchorProps as InternalAnchorProps, BasicVariantOnlyProps, ButtonHandle as InternalButtonHandle, ButtonProps as InternalButtonProps, CircleButtonPropsWithChildren, CircleButtonPropsWithoutChildren, Variant } from './internal_button'; export type ButtonHandle = InternalButtonHandle; export type { IconPosition, Shape as ButtonShape, Size as ButtonSize, Variant as ButtonVariant, Alignment as ButtonAlignment } from './internal_button'; export type ButtonProps = InternalButtonProps & { variant: Variant buttonRef?: never; noChildWrapper?: never; }; export declare function Button(props: ButtonProps): React.ReactNode; export type AnchorProps = InternalAnchorProps & { variant: Variant buttonRef?: never; noChildWrapper?: never; }; export declare function ButtonLink(props: AnchorProps): React.ReactNode; type CombinedPropsWithoutVariant = (InternalButtonProps & { variant?: never; }) | (InternalAnchorProps & { type: 'link' variant?: never; }); export declare function BasicButton({ ref, ...props }: CombinedPropsWithoutVariant & BasicVariantOnlyProps): React.ReactNode; export declare function BasicButtonLink(props: InternalAnchorProps & BasicVariantOnlyProps): React.ReactNode; export declare const PrimaryButton: (props: CombinedPropsWithoutVariant) => React.JSX.Element; export declare const SecondaryButton: (props: CombinedPropsWithoutVariant) => React.JSX.Element; export declare const TertiaryButton: (props: CombinedPropsWithoutVariant) => React.JSX.Element; export declare const LinkButton: (props: CombinedPropsWithoutVariant) => React.JSX.Element; export type CircleButtonProps = CircleButtonPropsWithChildren | CircleButtonPropsWithoutChildren; type CircleButtonPropsWithVariant = CircleButtonProps & { variant: Variant }; export declare function CircleButton(props: CircleButtonPropsWithVariant): React.ReactNode; export type LegacyButtonProps = InternalButtonProps; export type LegacyButtonLinkProps = InternalAnchorProps;