import { componentInterface } from '../factory'; /** * The payload artifact, built and published by the `experimental` repo and * served as `text/plain`. The minified sibling of `experimental.js`: same * envelope, same signals, roughly a quarter of the bytes. Prefer it here -- * this is fetched on a metered path in someone else's page, and the readable * form exists to be read by humans, not shipped to browsers. * @internal */ export declare const EXPERIMENTAL_PAYLOAD_URL = "https://experimental.thumbmarkjs.com/experimental.min.js"; interface ExperimentalError { /** * `request` — delivering the payload; raised here, and the only target we * raise. `signal` — computing one signal; raised by the payload itself and * passed through untouched. Split because they have different owners: a * request error is about the integrator's environment, a signal error is * about the payload's own code. */ target: 'request' | 'signal'; /** A RequestErrorType, or whatever the payload reports for a signal. */ type: string; message?: string; /** Which signal failed. Only meaningful when `target` is `signal`. */ signal?: string; } /** * `schema` versions this shape and starts at 1 in any published artifact, so * `schema: 0` means no payload ran and `errors` says why. `payload_id` changes * on every build and identifies which artifact produced a given set of signals. */ interface ExperimentalEnvelope { schema: number; payload_id: string; signals: componentInterface; errors: ExperimentalError[]; } /** * Fetches and evaluates the payload. Always resolves to an envelope, never * throws and never rejects — every failure becomes a `request` entry in * `errors`. Nothing here may break fingerprinting for the caller. * @internal */ export declare function getExperimentalPayload(): Promise; export {};