import { ComponentInterface } from '../../stencil-public-runtime';
/** Simple icon-only buttons designed to be used for actions and in toolbars.
 *
 * @version 1.0.0
 * @status stable
 *
 * @part base - the main control (either `<a />` or `<button />`)
 * @part icon - a `<nano-icon />` component
 */
export declare class IconButton implements ComponentInterface {
    private button;
    host: HTMLNanoIconButtonElement;
    /** The name of the icon to draw. */
    iconName?: string;
    /** An external URL of an SVG file. */
    iconSrc?: string;
    /** The default behavior of the button. */
    type: 'submit' | 'reset' | 'button';
    /** The name of the button, submitted as a pair with the button’s value as part of the form data. */
    name?: string;
    /** Defines the value associated with the button’s name when it’s submitted with the form data. */
    value?: string;
    /** A description that gets read by screen readers and other assistive devices. For optimal accessibility, you should
     * always include a label that describes what the icon button does. */
    label: string;
    /** display the label as a `<nano-tooltip />` */
    showTooltip: boolean;
    /** Set to true to disable the button. */
    disabled: boolean;
    /** Contains a URL or a URL fragment that the hyperlink points to.
     * If this property is set, an anchor tag will be rendered. */
    href: string | undefined;
    /** Specifies the relationship of the target object to the link object.
     * The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types) */
    rel: string | undefined;
    /** Specifies where to display the linked URL. Only applies when an `href` is provided.
     * Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. */
    target: string | undefined;
    /** The HTML form element or form element id.
     * Used to submit a form when the button is not a child of the form. */
    form: HTMLFormElement | string;
    /** Sets focus on the internal button */
    setFocus(): Promise<void>;
    /**
     * Finds the form element based on the provided `form` selector
     * or element reference provided.
     * @returns the found form element (if found)
     */
    private findForm;
    private handleClick;
    private content;
    render(): any;
}
