import ButtonElement from "../../base/button-element";
export type ButtonVariant = "primary" | "outline" | "ghost" | "danger";
/**
 * @summary Custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.
 *
 * @slot default - The button's label.
 * @slot leftIcon - The slot for icon to the left of the button text
 * @slot rightIcon - The slot for icon to the right of the button text
 *
 * @event sgds-blur - Emitted when the button is blurred.
 * @event sgds-focus - Emitted when the button is focused.
 *
 *
 */
export declare class SgdsButton extends ButtonElement {
    static styles: import("lit").CSSResult[];
    /** @internal */
    private readonly formSubmitController;
    /** The behavior of the button with default as `type='button', `reset` resets all the controls to their initial values and `submit` submits the form data to the server */
    type: "button" | "submit" | "reset";
    /**
     * The "form owner" to associate the button with. If omitted, the closest containing form will be used instead. The
     * value of this attribute must be an id of a form in the same document or shadow root as the button.
     */
    form: string;
    /** Used to override the form owner's `action` attribute. */
    formAction: string;
    /** Used to override the form owner's `method` attribute.  */
    formMethod: "post" | "get";
    /** Used to override the form owner's `novalidate` attribute. */
    formNoValidate: boolean;
    /** Used to override the form owner's `target` attribute. */
    formTarget: "_self" | "_blank" | "_parent" | "_top" | string;
    /** When set, the button will be in full width. */
    fullWidth: boolean;
    /** Used only for SSR to indicate the presence of the `leftIcon` slot. */
    hasLeftIconSlot: boolean;
    /** Used only for SSR to indicate the presence of the `rightIcon` slot. */
    hasRightIconSlot: boolean;
    private readonly hasSlotController;
    updated(): void;
    protected _handleClick(event: MouseEvent): void;
    private _clickHandler;
    render(): import("lit").TemplateResult;
}
export default SgdsButton;
