'use client';

/**
 * Boot client: handlers globais + opcional mount-only.
 * Importar só de Client Components / error.tsx.
 */
import { useEffect, type ReactNode } from 'react';
import {
  installBrowserTelemetry,
  type TelemetryContext,
} from './index';

export type TelemetryBootProps = TelemetryContext & {
  children?: ReactNode;
};

export function TelemetryBoot({ children, ...ctx }: TelemetryBootProps) {
  useEffect(
    () => installBrowserTelemetry(ctx),
    [ctx.application, ctx.environment, ctx.tenant, ctx.release],
  );
  return children ?? null;
}

export { installBrowserTelemetry, reportClientError, emitTelemetry } from './index';
