import type { Attributes } from '@opentelemetry/api'; /** * Max nesting levels (3). Both formats use 3. * - Array format: event_data.{object}.{key}.{level1}.{level2}.{level3} * - Legacy data format (without object property): event_data.{property}.{level1}.{level2}.{level3} */ type OtelAttributeValue = string | number | boolean; export declare function toSnakeCase(str: string): string; export declare function isNonNullish(value: T | null | undefined): value is T; export declare function isOtelAttributeValue(value: unknown): value is OtelAttributeValue; /** * Flattens an object's properties into OTEL attributes with a given prefix. */ export declare function flattenToAttributes(data: Record, prefix: string, attributes: Attributes, useSnakeCase?: boolean, keysToOmit?: readonly string[]): void; /** * Flattens nested object properties (one level deep) into OTEL attributes. * Processes string, number, and boolean primitives. Skips null, undefined, and nested objects. */ export declare function flattenNestedObject(obj: Record, prefix: string, attributes: Attributes): void; /** * Flattens nested object into OTEL attributes with configurable max levels. * Output: prefix.{level1}.{level2}... Deeper nesting is dropped. * Prefix may have trailing dot; it is normalized. */ export declare function flattenWithMaxDepth(obj: Record, prefix: string, attributes: Attributes, options?: { currentDepth?: number; useSnakeCase?: boolean; maxNestingLevels?: number; }): void; export {};