import { LitElement } from 'lit';
type Constructor<T = object> = new (...args: any[]) => T;
export type TooltipOffset = 'sm' | 'md' | 'lg' | 'xl';
export declare class TooltipMixinInterface {
    tooltip: string;
    tooltipPosition: 'top' | 'bottom' | 'left' | 'right';
    tooltipDelay: number;
    tooltipOffset: TooltipOffset | null;
    tooltipNoArrow: boolean;
    tooltipTrigger: string;
}
/**
 * Mixin that adds declarative tooltip support to any LitElement component.
 *
 * Uses the native Popover API for top-layer rendering and CSS anchor positioning
 * for viewport-aware placement. The tooltip element is appended as the last child
 * of the host (safe from Lit re-render interference in Light DOM components).
 *
 * For click triggers (`popover="auto"`), the browser provides light dismiss
 * (Escape key and click-outside). For hover/focus triggers (`popover="manual"`),
 * show/hide is controlled by the mixin.
 *
 * @mixin
 *
 * @cssprop --tooltip-color-background - Background color (default: white)
 * @cssprop --tooltip-color-text - Text color (default: oklch gray-900)
 * @cssprop --tooltip-border-radius - Border radius (default: 0.5rem / lg)
 *
 * @example
 * ```typescript
 * class MyComponent extends TooltipMixin(EventEmitterMixin(ReadyMixin(LitElement))) {
 *   // Component now supports tooltip, tooltip-position, tooltip-delay attributes
 * }
 * ```
 *
 * ```html
 * <my-component tooltip="Hello!" tooltip-position="bottom"></my-component>
 * ```
 */
export declare const TooltipMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<TooltipMixinInterface> & T;
export {};
//# sourceMappingURL=TooltipMixin.d.ts.map