import type { ButtonVariant } from '../types.js';
import { IgcButtonBaseComponent } from './button-base.js';
/**
 * Represents a clickable button, used to submit forms or anywhere in a
 * document for accessible, standard button functionality.
 *
 * The button supports multiple visual variants, can render as an anchor
 * (`<a>`) element when the `href` attribute is set, and is fully
 * form-associated, acting as a native `submit` or `reset` control.
 *
 * @element igc-button
 *
 * @slot - Renders the label of the button.
 * @slot prefix - Renders content before the label of the button.
 * @slot suffix - Renders content after the label of the button.
 *
 * @csspart base - The native button element of the igc-button component.
 * @csspart prefix - The prefix container of the igc-button component.
 * @csspart suffix - The suffix container of the igc-button component.
 */
export default class IgcButtonComponent extends IgcButtonBaseComponent {
    static readonly tagName = "igc-button";
    protected static styles: import("lit").CSSResult[];
    static register(): void;
    /**
     * The variant of the button which determines its visual appearance.
     * - `contained` – filled background; highest visual emphasis (default).
     * - `outlined` – transparent background with a visible border.
     * - `flat` – no background or border; lowest visual emphasis.
     * - `fab` – floating action button shape; typically used for primary actions.
     * @attr variant
     * @default 'contained'
     */
    variant: ButtonVariant;
    constructor();
    protected _renderContent(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'igc-button': IgcButtonComponent;
    }
}
