/// <reference types="react" />
import React from 'react';

interface ButtonProps {
    children: React.ReactNode;
    onClick: () => {};
    primary?: boolean;
    implied?: boolean;
    destructive?: boolean;
    small?: boolean;
    stacked?: boolean;
    expanded?: boolean;
    disabled?: boolean;
}
declare const Button: {
    (props: ButtonProps): JSX.Element;
    defaultProps: {
        children: string;
        onClick: () => void;
    };
};

interface ButtonGroupProps {
    children: React.ReactNode;
    row?: boolean;
    margin?: boolean;
}
declare const ButtonGroup: (props: ButtonGroupProps) => JSX.Element;

interface HeaderActionProps {
    children: React.ReactNode;
    onClick: () => {};
    selectable?: boolean;
    selected?: boolean;
    toggled: boolean;
    circleIcon?: boolean;
    disabled?: boolean;
    badgeCount: number;
    notification?: boolean;
    warning?: boolean;
    success?: boolean;
    padding?: boolean;
    hoverLabel?: string;
}
declare const HeaderAction: {
    (props: HeaderActionProps): JSX.Element;
    defaultProps: {
        children: string;
        onClick: () => void;
        badgeCount: number;
    };
};

interface BadgeProps {
    children: React.ReactNode;
    warning?: boolean;
    success?: boolean;
    word?: boolean;
}
declare const Badge: (props: BadgeProps) => JSX.Element;

interface Tab {
    id: string;
    content: React.ReactNode;
}
interface TabsProps {
    tabs: Tab[];
    selected: string;
    highlighted?: string;
    tabSelected: (id: any) => {};
    expanded?: boolean;
    margin?: boolean;
}
declare const Tabs: (props: TabsProps) => JSX.Element;

interface HeaderProps {
    title?: string;
    onClickClose?: () => {};
    rightActions?: [];
    leftActions?: [];
    shadow?: boolean;
}
declare const Header: {
    (props: HeaderProps): JSX.Element;
    defaultProps: {
        onClickClose: () => void;
    };
};

export { Badge, Button, ButtonGroup, Header, HeaderAction, Tabs };
