import { KeyboardEvent, MouseEvent } from "react";
import { IDropdownButtonRenderProps } from "../../Dropdown/Dropdown.js";
import { IconType } from "../@types/icon.js";
import { SizeLarge, SizeMedium, SizeSmall, SizeXLarge, SizeXSmall, SizeXXLarge } from "../@types/size.js";
import { VariantDanger, VariantPopOut, VariantPrimary, VariantSecondary, VariantTable, VariantTertiary } from "../@types/variant.js";
/**
 * @internal
 */
export interface UiIconButtonPublicProps {
    icon: IconType;
    label?: string;
    size?: SizeXSmall | SizeSmall | SizeMedium | SizeLarge | SizeXLarge | SizeXXLarge;
    variant?: VariantPrimary | VariantSecondary | VariantTertiary | VariantPopOut | VariantDanger | VariantTable;
    isDisabled?: boolean;
    isActive?: boolean;
    onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
    onKeyDown?: (e: KeyboardEvent<HTMLButtonElement>) => void;
    dataId?: string;
    dataTestId?: string;
    ariaAttributes?: IDropdownButtonRenderProps["ariaAttributes"];
    accessibilityConfig?: IDropdownButtonRenderProps["accessibilityConfig"];
    tabIndex?: number;
}
export interface UiIconButtonInternalProps {
    iconAfter?: IconType;
    iconAfterSize?: SizeXSmall | SizeSmall | SizeMedium | SizeLarge;
}
export type UiIconButtonRendererProps = UiIconButtonPublicProps & UiIconButtonInternalProps;
export declare const UiIconButtonRenderer: import("react").ForwardRefExoticComponent<UiIconButtonPublicProps & UiIconButtonInternalProps & import("react").RefAttributes<HTMLButtonElement>>;
//# sourceMappingURL=UiIconButtonRenderer.d.ts.map