import { AgentPetAPI, WidgetState } from './api'; export interface ObserveOptions { /** Pet state to play when any
on the page is submitted. */ formSubmit?: WidgetState | false; /** Pet state to play when a form field's `invalid` event fires (HTML5 validation). */ formError?: WidgetState | false; /** Pet state to play once on initial DOMContentLoaded (or immediately if already loaded). */ pageLoad?: WidgetState | false; /** Pet state to set just before the page unloads. */ pageLeave?: WidgetState | false; /** Pet state to play when the user clicks a cross-origin link or target="_blank". */ externalLink?: WidgetState | false; } /** Defaults applied when `data-observe="forms,nav"` is set on the script tag. */ export declare const OBSERVE_DEFAULTS: Required<{ [K in keyof ObserveOptions]: WidgetState; }>; /** * Parse the `data-observe` attribute value into an ObserveOptions. * Keywords (comma- or space-separated): * - 'forms' → formSubmit + formError * - 'nav' → pageLoad + pageLeave + externalLink * - 'all' → every observer * - 'page-load', 'page-leave', 'external-link', 'form-submit', 'form-error' — individual */ export declare function parseObserveAttr(value: string | undefined): ObserveOptions; /** * Attach the requested observers. Returns a function that detaches them * all — call on unmount or when re-configuring. */ export declare function attachObservers(pet: AgentPetAPI, opts: ObserveOptions): () => void;