/** * A light-dismiss policy, wired to the events a document actually delivers. * * `createLightDismiss` decides *whether* an interaction dismisses; this is the six listeners that * feed it. Written per renderer, the set drifts: one bound `pointerup` and another did not, and the * one that did not was left deciding on `click` alone — which the policy documents as the tail of * the gesture rather than the gesture. A dismissal that only sometimes arrives is indistinguishable * from an overlay that ignores the outside. * * All six are capture-phase where the DOM offers it, so content that stops propagation cannot * silence the decision — an overlay is dismissed by where the pointer went, not by who let the event * through. */ import type { MdyLightDismiss } from "./dismissal.js"; export interface MdyDismissalBindingOptions { /** Defaults to the global document; supplied by a host that lives in another one. */ readonly document?: Document; /** Defaults to the global window; the blur that abandons an interaction is its own. */ readonly window?: Window; } /** Binds `policy` to the document. Returns the unbind, which also resets the policy. */ export declare function bindLightDismiss(policy: MdyLightDismiss, options?: MdyDismissalBindingOptions): () => void;