export declare class IconButton {
el: HTMLIfxIconButtonElement;
/**
* Visual style of the icon button.
* Primary has a solid background, secondary has an outline and tertiary is just the icon with no background or border.
* @default "primary"
*/
readonly variant: "primary" | "secondary" | "tertiary";
/**
* Size of the icon button.
* Options: xs (20px), s (32px), m (36px) and l (40px).
* @default "m"
*/
readonly size: "xs" | "s" | "m" | "l";
/**
* Disables the button and blocks user interaction.
* @default false
*/
readonly disabled: boolean;
/**
* Icon name rendered by the nested `ifx-icon`.
* Refer to the [Icon Library](https://infineon.github.io/infineon-design-system-stencil/storybook/?path=/docs/icon-library--development) for available icons.
*/
readonly icon: string;
updateIcon(newIcon: string): void;
/**
* URL to navigate to; when provided, the component renders as a link.
*/
readonly href: string;
/**
* Target for link navigation when `href` is set.
* @default "_self"
*/
readonly target: string;
/**
* Visual shape of the icon button.
* @default "round"
*/
readonly shape: "round" | "square";
/**
* Accessible name announced by assistive technologies.
*/
readonly ariaLabelText: string | null;
internalIcon: string;
private focusableElement;
/**
* Sets focus on the icon button. If the button is rendered as a link, it focuses the anchor element; otherwise, it focuses the button element.
*/
setFocus(): Promise;
handleClick(event: Event): void;
componentWillLoad(): void;
componentDidLoad(): Promise;
render(): any;
private getVariantClass;
private getSizeClass;
private getClassNames;
}