export type PulseEventType = "error" | "span" | "transaction" | "log" | "metric"; export type PulseLevel = "fatal" | "error" | "warning" | "info" | "debug"; export interface PulseReporterConfig { endpoint: string; projectId: string; deploymentId: string; environment?: string; service?: string; release?: string; } export interface PulseSDKInfo { name: string; version: string; language: string; integrations?: string[]; } export interface PulseStackFrame { filename?: string; abs_path?: string; function?: string; lineno?: number; colno?: number; in_app?: boolean; context_line?: string; } export interface PulseExceptionPayload { type?: string; value?: string; stacktrace?: { frames: PulseStackFrame[]; }; } export interface PulseRequestInfo { method?: string; url?: string; headers?: Record; route?: string; status_code?: number; } export interface PulseRuntimeInfo { name?: string; version?: string; } export interface PulseOSInfo { name?: string; version?: string; } export interface PulseDeviceInfo { model?: string; arch?: string; } export interface PulseErrorPayload { level: PulseLevel; message?: string; exception?: PulseExceptionPayload; culprit?: string; request?: PulseRequestInfo; runtime?: PulseRuntimeInfo; os?: PulseOSInfo; device?: PulseDeviceInfo; } export interface PulseEvent { event_type: PulseEventType; event_id: string; deployment_id: string; project_id: string; environment?: string; service?: string; host?: string; sdk?: PulseSDKInfo; timestamp: string; release?: string; dist?: string; deployment?: string; tags?: Record; context?: Record; sample_rate?: number; fingerprint?: string[]; ingest_key_id?: string; payload_version?: number; content_encoding?: string; error?: PulseErrorPayload; } export interface PulseCaptureOptions { tags?: Record; context?: Record; level?: PulseLevel; } export declare class PulseReporter { private readonly config; private readonly enabled; constructor(config?: Partial); captureException(error: unknown, options?: PulseCaptureOptions): void; private buildErrorEvent; private normalizeError; private buildExceptionPayload; private parseStack; } export default PulseReporter;