import { PetConfig } from '../core/types'; import { WidgetState } from './api'; export interface OverlayOptions { positionKey: string; hiddenKey: string; size?: number; onDismissSpeech?: () => void; onHide?: () => void; onUserMessage?: (text: string) => void; } export declare class PetOverlayElement { private root; private bubble; private bubbleNameEl; private bubbleTextEl; private bubbleActions; private chatForm; private chatInput; private spriteWrapper; private dock; private sprite; private size; private position; private positionKey; private hiddenKey; private onDismissSpeech?; private onHide?; private onUserMessage?; private hidden; private chatEnabled; private chatPlaceholder; private active; private hostState; private gestureInteraction; private currentSpeech; private bubbleOpen; private hovered; private ambientIdx; private ambientRowId; private waitingTimer; private bubbleAutoCloseTimer; private ambientPlayTimer; private ambientRestTimer; private ambientLastPlayedId; private detachSpriteDrag; private detachDockDrag; private spriteDragInFlight; private dockDragInFlight; constructor(parent: ParentNode, opts: OverlayOptions); private onWindowResize; setConfig(pet: PetConfig): void; setHostState(state: WidgetState): void; setSpeech(speech: { text: string; link?: string; } | null): void; setChat(enabled: boolean, placeholder?: string): void; setHidden(hidden: boolean): void; isHidden(): boolean; destroy(): void; private baseInteraction; private computedInteraction; private activeRowId; private applyInteractionToSprite; private onPointerEnter; private onPointerLeave; private setGestureInteraction; private armWaitingTimer; private startAmbient; private playAmbientBeat; private clearAmbient; private openBubble; private openBubbleTransiently; private ambientLineCount; private visibleAmbientLine; private refreshBubble; private applyOverlayStyles; private bubbleAnchorsLeft; private applySpriteWrapperStyles; private applyHiddenState; private renderDock; private removeDock; private renderChatInput; private removeChatInput; }