import { CfxUIThemesPalette } from '../styles/themes';
import { TagSizes, ButtonColors } from '../utils/prop-types';
import { ButtonProps } from './button';
export interface ButtonOrTagColorGroup {
    bg: string;
    border: string;
    color: string;
}
export interface ButtonOrTagStatusGroup {
    default: ButtonOrTagColorGroup;
    hover: ButtonOrTagColorGroup;
    active: ButtonOrTagColorGroup;
}
export declare const getButtonColors: (palette: CfxUIThemesPalette, props: ButtonProps, isTag: boolean) => ButtonOrTagStatusGroup;
export declare const getButtonGhostColors: (palette: CfxUIThemesPalette, color: ButtonColors) => ButtonOrTagColorGroup | null;
export declare const getButtonGhostHoverColors: (palette: CfxUIThemesPalette, color: ButtonColors) => ButtonOrTagColorGroup | null;
export interface ButtonCursorGroup {
    cursor: string;
    events: string;
}
export declare const getButtonCursor: (disabled: boolean, loading: boolean) => ButtonCursorGroup;
export declare type ButtonSizeGroup = {
    height: string;
    width: string;
    padding: string;
    minWidth: string;
    fontSize: string;
};
export declare type TagSizeGroup = ButtonSizeGroup;
export declare const getButtonSize: (size: "mini" | "small" | "medium" | "large" | undefined, auto: boolean) => ButtonSizeGroup;
export declare const getTagSize: (size?: TagSizes) => TagSizeGroup;
export declare const getButtonDripColor: (palette: CfxUIThemesPalette, props: ButtonProps) => string;
