import React from 'react';
import { ButtonProps as AriakitButtonProps } from '@ariakit/react';
import * as styles from './styles.css';
import { IconProps } from '../icons';
import { ClassValue } from 'clsx';
export type ButtonProps = React.PropsWithChildren & AriakitButtonProps & styles.Variants & {
    iconLeft?: React.ReactElement<IconProps>;
    iconRight?: React.ReactElement<IconProps>;
    onPress?: () => void;
    cssClass?: ClassValue | ClassValue[];
};
export declare const Button: React.ForwardRefExoticComponent<Omit<{
    children?: React.ReactNode;
} & import("@ariakit/react").ButtonOptions<"button"> & {
    [index: `data-${string}`]: unknown;
    wrapElement?: import("@ariakit/react-core/cjs/utils/types").WrapElement | undefined;
    children?: import("@ariakit/react-core/cjs/utils/types").Children<any>;
    render?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | import("@ariakit/react-core/cjs/utils/types").RenderProp<React.HTMLAttributes<any> & React.RefAttributes<any>> | undefined;
} & Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
    ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
}, "children" | keyof import("@ariakit/react").ButtonOptions<T>> & {
    emphasis?: "medium" | "high" | "low" | undefined;
    kind?: "primary" | "secondary" | "danger" | undefined;
    size?: "small" | "medium" | "xSmall" | undefined;
} & {
    iconLeft?: React.ReactElement<IconProps, string | React.JSXElementConstructor<any>> | undefined;
    iconRight?: React.ReactElement<IconProps, string | React.JSXElementConstructor<any>> | undefined;
    onPress?: (() => void) | undefined;
    cssClass?: ClassValue | ClassValue[];
}, "ref"> & React.RefAttributes<HTMLButtonElement>>;
type ButtonContentProps = Pick<ButtonProps, 'children' | 'disabled' | 'emphasis' | 'iconLeft' | 'iconRight' | 'kind' | 'size'>;
export declare const ButtonContent: React.FC<ButtonContentProps>;
export {};
