import { PopupModal } from './types'; /** * Whether a form limited to `urls` may appear on `href`. * * An empty or missing list means every page, so a form that says nothing about * addresses runs wherever it's added — which is what every form authored before * this existed says, and what a form embedded by pasting a tag exactly where it * belongs wants anyway. */ export declare function matchesUrls(urls: string[] | undefined, href: string): boolean; /** Whether `popup` may appear on `href`. */ export declare function matchesPage(popup: PopupModal, href: string): boolean; /** Whether a form limits itself to particular addresses at all. */ export declare function hasUrlTargeting(popup: PopupModal): boolean; /** * An address as the author meant it: `poptin.com/thanks` becomes * `https://poptin.com/thanks`, while `ThankYou.aspx`, `/thanks`, `./thanks`, * `?done=1` and anything already carrying a scheme are handed back untouched. * * Applied in two places, because a broken destination has two lives. The editor * repairs it as the author leaves the field, so the value that gets *stored* is * the one that works; the renderer repairs it again at the moment it navigates, * so a form saved before any of this existed reaches the right site without * anyone reopening it. `validateSuccess` still warns about the stored value, so * the author can see and fix what their JSON actually says. */ export declare function withScheme(value: string): string;