/// <reference types="react" />
export { NewGDSButtonProps } from './common';
export { NewGDSButtonCopyProps } from './NewGDSButtonCopy';
export { NewGDSButtonGroupProps } from './NewGDSButtonGroup';
/**
 * Clickable button with a text label and/or an icon.
 *
 * Variants: `NewGDSButton.Primary`, `NewGDSButton.Secondary`, `NewGDSButton.Tertiary`, `NewGDSButton.Copy`.
 * Additional component: `NewGDSButton.Group`.
 */
export declare const NewGDSButton: import("react").ForwardRefExoticComponent<{
    variant?: import("./common").Variant;
    size?: import("./common").Size;
    shape?: "round" | "default";
    justify?: import("../..").ValueOrArray<"center" | "space-around" | "space-between" | "space-evenly" | "end" | "start">;
    status?: "success" | "loading" | "error" | "success-final" | "loading-progress";
    statusMessage?: import("react").ReactNode;
    loadingProgress?: number;
} & import("../..").ButtonOrLinkProps & import("react").HTMLAttributes<import("./common").NewGDSButtonElement> & import("react").RefAttributes<import("./common").NewGDSButtonElement>> & {
    /** Shorthand for `<NewGDSButton variant="primary" />`. */
    Primary: import("react").ForwardRefExoticComponent<Omit<import("./common").NewGDSButtonProps, "variant"> & import("react").RefAttributes<import("./common").NewGDSButtonElement>>;
    /** Shorthand for `<NewGDSButton variant="secondary" />`. */
    Secondary: import("react").ForwardRefExoticComponent<Omit<import("./common").NewGDSButtonProps, "variant"> & import("react").RefAttributes<import("./common").NewGDSButtonElement>>;
    /** Shorthand for `<NewGDSButton variant="tertiary" />`. */
    Tertiary: import("react").ForwardRefExoticComponent<Omit<import("./common").NewGDSButtonProps, "variant"> & import("react").RefAttributes<import("./common").NewGDSButtonElement>>;
    /** Shorthand for `<NewGDSButton size="small" shape="round">{...}</NewGDSButton>` with copy functionality. */
    Copy: import("react").ForwardRefExoticComponent<{
        value: string;
    } & {
        variant?: import("./common").Variant;
        size?: import("./common").Size;
        shape?: "round" | "default";
        justify?: import("../..").ValueOrArray<"center" | "space-around" | "space-between" | "space-evenly" | "end" | "start">;
        status?: "success" | "loading" | "error" | "success-final" | "loading-progress";
        statusMessage?: import("react").ReactNode;
        loadingProgress?: number;
    } & import("../..").ButtonOrLinkProps & import("react").HTMLAttributes<import("./common").NewGDSButtonElement> & import("react").RefAttributes<import("./common").NewGDSButtonElement>>;
    /** Button group. Can be used to group multiple `<NewGDSButton />` components. Variants: `NewGDSButton.Group.Primary`, `NewGDSButton.Group.Secondary`, `NewGDSButton.Group.Tertiary`. */
    Group: import("react").ForwardRefExoticComponent<{
        variant?: import("./common").Variant;
        size?: import("./common").Size;
        disabled?: boolean;
    } & import("react").HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>> & {
        Primary: (props: Omit<import("./NewGDSButtonGroup").NewGDSButtonGroupProps, "variant">) => import("theme-ui/jsx-runtime").JSX.Element;
        Secondary: (props: Omit<import("./NewGDSButtonGroup").NewGDSButtonGroupProps, "variant">) => import("theme-ui/jsx-runtime").JSX.Element;
        Tertiary: (props: Omit<import("./NewGDSButtonGroup").NewGDSButtonGroupProps, "variant">) => import("theme-ui/jsx-runtime").JSX.Element;
    };
};
