import type { PropsWithoutRef } from 'react';
import type { NoChildrenProp, WithAttributes } from '../../types';
export type AIButtonProps = WithAttributes<'button', NoChildrenProp & {
    /**
     * Controls the styling of the Button.
     * @default 'secondary'
     */
    variant?: 'primary' | 'secondary';
    /** The text content of the AIButton. */
    label: string;
} & ({
    /**
     * Icon name. Set to null to render button without an icon.
     * @default 'polaris-solid'
     */
    icon?: string;
    /**
     * Only display the icon. The label prop will be forwarded to a tooltip.
     * @default false
     */
    iconOnly: true;
} | {
    /**
     * Icon name. Set to null to render button without an icon.
     * @default 'polaris-solid'
     */
    icon?: string | null;
    /**
     * Only display the icon. The label prop will be forwarded to a tooltip.
     * @default false
     */
    iconOnly?: false;
})>;
export declare const StyledAIButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<Omit<import("../Button").ButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../../types").ForwardProps, "ref"> & {
    ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
}, never>> & string & Omit<import("../../types").ForwardRefForwardPropsComponent<import("../Button").ButtonProps>, keyof import("react").Component<any, {}, any>>;
declare const _default: import("react").ForwardRefExoticComponent<PropsWithoutRef<AIButtonProps> & import("react").RefAttributes<HTMLButtonElement>>;
export default _default;
//# sourceMappingURL=AIButton.d.ts.map