import { Duration, Effect, Option, Schema as S } from 'effect'; import * as Command from 'foldkit/command'; import { type ChildAttribute, type Html } from 'foldkit/html'; import * as Mount from 'foldkit/mount'; import { type Reflect } from 'foldkit/submodel'; import * as Update from 'foldkit/update'; import { AnchorConfig } from '../anchor/index.js'; import { Message, OutMessage } from './message.js'; /** Schema for the tooltip component's state. `isOpen` is visibility; `isHovered` tracks pointer on trigger; `isFocused` tracks tooltip-affirming focus on the trigger (focus arriving without a preceding mouse press, like keyboard, touch, or pen; mouse-click-induced focus is excluded since it doesn't affirm the user wants the tooltip visible); `isDismissed` suppresses re-opening after the user dismissed the tooltip (via Escape) until they disengage (leave or blur). `showDelay` is the hover-to-show duration. `maybeLastPointerType` records the most recent pointer type that pressed the trigger, so a mouse-click-induced focus can be distinguished from other focus. */ export declare const Model: S.Struct<{ readonly id: S.String; readonly isOpen: S.Boolean; readonly isHovered: S.Boolean; readonly isFocused: S.Boolean; readonly isDismissed: S.Boolean; readonly showDelay: S.DurationFromMillis; readonly pendingShowVersion: S.Number; readonly maybeLastPointerType: S.Option; }>; export type Model = typeof Model.Type; /** Returns the bare DOM id of the tooltip trigger button, derived from the * tooltip's base id. Use this to associate an external label with the * trigger via a native `