import { type CSSObject } from '@emotion/react';
import { type ThemeModes } from '@atlaskit/theme/types';
import { type BaseProps } from '../types';
export type ThemeTokens = {
    buttonStyles: CSSObject;
    spinnerStyles: CSSObject;
};
export type InteractionState = 'disabled' | 'focusSelected' | 'selected' | 'active' | 'hover' | 'focus' | 'default';
export type CustomThemeButtonOwnProps = {
    isLoading?: boolean;
    /**
     * Slow + discouraged custom theme API
     * See custom theme guide for usage details
     */
    theme?: (current: (props: ThemeProps) => ThemeTokens, props: ThemeProps) => ThemeTokens;
};
export type CustomThemeButtonProps = Omit<BaseProps, 'overlay'> & CustomThemeButtonOwnProps;
export type ThemeProps = Partial<CustomThemeButtonProps> & {
    state: InteractionState;
    iconIsOnlyChild?: boolean;
    mode?: ThemeModes;
};
