import React from 'react';
import { Id } from '@monstrosity/types/id';
import { IconName } from '@monstrosity/enums/icon';
import { ButtonStyle } from '@monstrosity/enums/button-style';
export interface BarButtonProps {
    id?: Id;
    isLoading?: boolean;
    label?: string;
    isDisabled?: boolean;
    icon?: IconName;
    isSlim?: boolean;
    children?: JSX.Element;
    buttonStyle?: ButtonStyle;
    onClick: (id?: Id) => void;
}
interface ButtonRoot {
    isLoading?: boolean;
    hasText?: boolean;
    isDisabled?: boolean;
    isSlim?: boolean;
    buttonStyle?: ButtonStyle;
}
export declare const ButtonRoot: import("styled-components").StyledComponent<"div", import("@monstrosity/types/theme").Theme, ButtonRoot, never>;
export declare const ButtonLabelWrapper: import("styled-components").StyledComponent<"span", import("@monstrosity/types/theme").Theme, {}, never>;
export declare class BarButton extends React.Component<BarButtonProps> {
    static defaultProps: {
        isLoading: boolean;
        isSlim: boolean;
        isDisabled: boolean;
    };
    render(): JSX.Element;
}
export {};
