import type { Attributes } from '@opentelemetry/api';
import { type Span } from '@opentelemetry/api';
import type { RealtimeModelMetrics } from '../metrics/base.js';
/**
 * Whether the project has mandated PII redaction.
 *
 * Set in the LiveKit Cloud dashboard (or per session with `record: { redaction: true }`) and
 * never weakened from here — when it is on, PII is stripped for every destination, LiveKit
 * Cloud included. `spanAttributes` lets a span ended outside the job's async context resolve
 * from the flag stamped on it at span start.
 *
 * Stripping PII for *third-party* exporters is not this flag: that is the default, and is
 * lifted per provider with `setTracerProvider(provider, { allowPii: true })`.
 */
export declare function redactionEnabled(spanAttributes?: Attributes): boolean;
export { REDACTED_EXCEPTION_MESSAGE } from './redaction.js';
export interface RecordExceptionOptions {
    /**
     * Whether to omit exception messages and stack traces from telemetry. Defaults to the resolved
     * redaction setting for the current session.
     */
    redacted?: boolean;
}
export declare function recordException(span: Span, error: Error, options?: RecordExceptionOptions): void;
export declare function recordRealtimeMetrics(span: Span, metrics: RealtimeModelMetrics): void;
//# sourceMappingURL=utils.d.ts.map