import { LitElement, PropertyValueMap, PropertyValues } from "lit";
import { FTooltipPlacement } from "../../../components/f-tooltip/f-tooltip";
export type FTooltipObject = {
    text: string;
    closable?: boolean;
    placement?: FTooltipPlacement;
};
export type FRootTooltip = string | FTooltipObject;
/**
 * @summary Every component must extent this class to consume gbobal styles , such as css reset, font family,...
 *
 */
export declare class FRoot extends LitElement {
    static styles: import("lit").CSSResult[];
    tooltipElement: HTMLElement;
    /**
     * @attribute Value of a switch defines if it is on or off.
     */
    tooltip?: FRootTooltip;
    get tooltipText(): string | undefined;
    mouseEnter?: () => void;
    mouseLeave?: () => void;
    isMouseOver: boolean;
    disconnectedCallback(): void;
    /**
     * To track isMouseOver
     * @param changedProperties
     */
    protected firstUpdated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    protected willUpdate(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    protected updated(changedProperties: PropertyValues): void;
}
