import { CreateWuiProps } from '../System';
import { Size, Variant } from './theme';
export interface ButtonOptions {
    /** AI button with 3 variants: primary / tertiary / ghost */
    ai?: boolean;
    /**
     * Danger button with 3 variants: primary / tertiary / ghost
     * Take precedence hover the AI prop
     */
    danger?: boolean;
    disabled?: boolean;
    isLoading?: boolean;
    shape?: 'circle' | 'square';
    size?: Size;
    variant?: Variant;
}
export type ButtonProps = CreateWuiProps<'button', ButtonOptions>;
/**
 * @tag button
 */
export declare const Button: import('../System').CreateWuiComponent<"button", ButtonProps>;
export declare const StyledButton: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('@ariakit/react').ButtonOptions<"button"> & Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
    ref?: import('react').Ref<HTMLButtonElement>;
}, keyof import('@ariakit/react').ButtonOptions<T>> & {
    [index: `data-${string}`]: unknown;
}, ButtonOptions>> & string & Omit<(props: import('@ariakit/react').ButtonProps) => import('react').ReactElement<any, string | import('react').JSXElementConstructor<any>>, keyof import('react').Component<any, {}, any>>;
