import { ButtonWithAsProp } from '../Button';
import { ValuesOf } from '../utils/typeUtils';
import { PRIORITY, SKINS, SIZES } from './IconButton.constants';
export type IconButtonHandle = {
    focus: () => void;
};
export type IconButtonProps = ButtonWithAsProp<{
    /** Specifies a CSS class name to be appended to the component’s root element.
     * @internal
     */
    className?: string;
    /** Sets the skin of a component */
    skin?: IconButtonSkin;
    /** Control the priority of a component */
    priority?: IconButtonPriority;
    /** Control the size of a component */
    size?: IconButtonSize;
    /** Specify whether button should be disabled */
    disabled?: boolean;
    /** Applies a data-hook HTML attribute that can be used in the tests */
    dataHook?: string;
    /** Define a string value that labels the button element */
    ariaLabel?: string;
    /** Identify the element that labels the button element */
    ariaLabelledBy?: string;
}>;
export type IconButtonSkin = ValuesOf<typeof SKINS>;
export type IconButtonPriority = ValuesOf<typeof PRIORITY>;
export type IconButtonSize = ValuesOf<typeof SIZES>;
//# sourceMappingURL=IconButton.types.d.ts.map