import { Size } from '../internal';
import { Button } from '../button';
import { IconName, Icon } from '../icon';
/**
 * @element nve-icon-button
 * @description An icon button is a button that displays only an icon without a visual label.
 * @since 0.2.1
 * @entrypoint \@nvidia-elements/core/icon-button
 * @slot - default slot for custom icons
 * @cssprop --border-radius
 * @cssprop --padding
 * @cssprop --line-height
 * @cssprop --gap
 * @cssprop --height
 * @cssprop --width
 * @cssprop --font-size
 * @cssprop --color
 * @cssprop --background
 * @csspart icon - The icon element
 * @aria https://www.w3.org/WAI/ARIA/apg/patterns/button/
 */
export declare class IconButton extends Button {
    /**
     * Sets the icon name, which determines which icon to display.
     */
    iconName: IconName;
    /**
     * Sets the direction of the icon.
     * Only supported by expand-panel/collapse-panel (horizontal axis) and arrow/caret/chevron icons (4-directions)
     */
    direction: 'up' | 'down' | 'left' | 'right';
    /**
     * Sets size of the icon button.
     */
    size?: Size;
    static styles: import('lit').CSSResult[];
    static readonly metadata: {
        tag: string;
        version: string;
    };
    static elementDefinitions: {
        [Icon.metadata.tag]: typeof Icon;
    };
    render(): import('lit').TemplateResult<1>;
}
