import { ElementDefinitionsMap, FtLitElement } from "@fluid-topics/ft-wc-utils";
import { Position } from "@fluid-topics/ft-tooltip";
import { FtIconVariants } from "@fluid-topics/ft-icon";
import { HTMLTemplateResult } from "lit";
import { ClassInfo } from "lit/directives/class-map.js";
import { FtButtonProperties, HTMLAnchorElementTargetAttribute } from "./ft-button.properties";
declare const FtButton_base: import("@fluid-topics/ft-wc-utils").FtFormComponentType<typeof FtLitElement>;
export declare class FtButton extends FtButton_base implements FtButtonProperties {
    static elementDefinitions: ElementDefinitionsMap;
    primary: boolean;
    outlined: boolean;
    dense: boolean;
    round: boolean;
    disabled: boolean;
    icon?: string;
    iconVariant?: FtIconVariants;
    trailingIcon: boolean;
    label: string;
    type: "button" | "submit" | "reset";
    href?: string;
    target?: HTMLAnchorElementTargetAttribute;
    loading: boolean;
    ariaLabel: string | null;
    ariaHasPopup: string | null;
    ariaPressed: string | null;
    tooltipPosition: Position;
    hideTooltip: boolean;
    forceTooltip: boolean;
    activated: boolean;
    private button?;
    private slottedContent?;
    private tooltip?;
    static styles: import("lit").CSSResult[];
    get buttonClasses(): ClassInfo;
    constructor();
    protected render(): HTMLTemplateResult;
    private addTooltipIfNeeded;
    private resolveIcon;
    focus(): void;
    showTooltip(): void;
    showTemporaryTooltip(text: string, duration: number): Promise<void> | undefined;
    private setTooltipManual;
    click(): void;
    private getLabel;
    getTextContent(): string;
    protected hasTextContent(): boolean;
    private onSlotchange;
    private isDisabled;
}
export {};
