/** @jsxRuntime classic */
/** @jsx jsx */
import { SerializedStyles } from '@emotion/react';
import type { sizeSDS } from '../types/common';
export declare type buttonType = 'submit' | 'reset' | 'button';
export interface ButtonCustomColor {
    buttonColor?: string;
    buttonHoverColor?: string;
    buttonDisabledColor?: string;
    labelColor?: string;
    labelDisabledColor?: string;
}
export interface ButtonProps extends ButtonCustomColor {
    children?: React.ReactNode;
    mould?: 'primary' | 'secondary' | 'tertiary' | 'icon' | 'custom';
    icon?: React.ReactNode | string;
    iconPosition?: 'none' | 'left' | 'right' | 'movable';
    iconLeft?: string;
    iconTop?: string;
    iconRight?: string;
    iconBottom?: string;
    size?: sizeSDS;
    type?: buttonType;
    disabled?: boolean;
    width?: string;
    height?: string;
    onClick?: React.MouseEventHandler;
    emotionCss?: SerializedStyles | SerializedStyles[];
    tabIndex?: number;
}
export declare type ButtonIconPositionSize = 'leftlarge' | 'leftmedium' | 'leftsmall' | 'rightlarge' | 'rightmedium' | 'rightsmall' | 'movablelarge' | 'movablemedium' | 'movablesmall';
export default function Button({ children, mould, icon, iconPosition, iconTop, iconRight, iconBottom, iconLeft, size, type, disabled, width, height, onClick, buttonColor, labelColor, buttonDisabledColor, buttonHoverColor, labelDisabledColor, emotionCss, tabIndex, }: ButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;
