import type { HealthReporter } from './healthReporter';
/**
 * Bind the web-vitals callbacks to the given HealthReporter. Each metric
 * fires once per session per metric (with possible BFCache reactivations).
 *
 * Idempotent across `Syntro.init()` re-calls: web-vitals subscriptions are
 * registered once per page; later binds re-route to the most recent
 * reporter via a window-scoped pointer. Long-task observers are per-bind
 * and disposed via the returned cleanup function.
 *
 * Long-task tracking is opt-in via `attributedScriptUrlPrefix`: when the
 * browser exposes long-task attribution and the offending script's URL
 * starts with this prefix, the long task is counted toward the SDK's own
 * blocking time. Pass the SDK script URL prefix (typically the CDN
 * directory the bundle was loaded from).
 *
 * Safe to call in non-browser environments — returns a no-op cleanup
 * function when `window` is unavailable.
 */
export declare function bindWebVitals(reporter: HealthReporter, options?: {
    attributedScriptUrlPrefix?: string;
}): () => void;
