import focusables from "makeup-focusables";
import { type Placement } from "@floating-ui/dom";
import { pointerStyles } from "./constants";
import type { WithNormalizedProps } from "../../../global";
interface TooptipBaseInput {
    open?: boolean;
    type: string;
    offset?: number;
    "no-hover"?: boolean;
    "overlay-style"?: string;
    "overlay-id"?: string;
    "render-body"?: Marko.Renderable;
    placement?: Placement;
    "no-flip"?: boolean;
    "not-inline"?: boolean;
    "no-shift"?: boolean;
    pointer?: keyof typeof pointerStyles;
    "on-base-expand"?: (event: {
        originalEvent: Event;
    }) => void;
    "on-base-collapse"?: (event: {
        originalEvent: Event;
    }) => void;
}
export interface Input extends WithNormalizedProps<TooptipBaseInput> {
}
declare class TooltipBase extends Marko.Component<Input> {
    action: "expand" | "collapse" | null;
    _expander: any;
    cancelFocus: ReturnType<typeof focusables>;
    hostEl: HTMLElement | null;
    overlayEl: HTMLElement | null;
    arrowEl: HTMLElement | null;
    cleanup: (() => void) | undefined;
    handleExpand(): void;
    handleCollapse(): void;
    onMount(): void;
    onUpdate(): void;
    onInput(input: Input): void;
    onRender(): void;
    collapse(): void;
    expand(): void;
    isExpanded(): any;
    onDestroy(): void;
    _setupExpander(host: Element | null | undefined, hostSelector: string): void;
    updateTip(): void;
    _setupBaseTooltip(): void;
    _setupMakeup(): void;
    _cleanupMakeup(): void;
}
export default TooltipBase;
