import React, { PropsWithChildren } from "react";
import { IButton } from "../../theme";
export interface Props {
    className?: string;
    size?: "lg" | "md" | "sm" | "xs";
    textSize?: string;
    outlined?: boolean;
    thinOutlined?: boolean;
    texted?: boolean;
    alternative?: boolean;
    width?: string;
    height?: string;
    dark?: boolean;
    theme?: {
        button?: IButton;
    };
}
export interface ButtonProps extends Props {
    onClick?: (e: any) => void;
    pending?: boolean;
    disabled?: boolean;
    type?: "button" | "submit" | "reset";
    color?: string;
}
export interface LinkButtonProps extends Props {
    href: string;
    target?: string;
    rel?: string;
    onClick?: (e: any) => void;
}
export interface TextButtonProps extends Props {
    href?: string;
    target?: string;
    rel?: string;
    onClick?: (e: any) => void;
}
export declare const LinkButton: ({ children, theme, ...props }: PropsWithChildren<LinkButtonProps>) => import("react/jsx-runtime").JSX.Element;
export declare const TextLinkButton: ({ children, theme, ...props }: PropsWithChildren<TextButtonProps>) => import("react/jsx-runtime").JSX.Element;
declare const _default: (({ pending, children, type, color, theme, ...props }: React.PropsWithChildren<ButtonProps>) => import("react/jsx-runtime").JSX.Element) & {
    Link: ({ children, theme, ...props }: React.PropsWithChildren<LinkButtonProps>) => import("react/jsx-runtime").JSX.Element;
    TextLink: ({ children, theme, ...props }: React.PropsWithChildren<TextButtonProps>) => import("react/jsx-runtime").JSX.Element;
};
export default _default;
