import type { Telemetry as AiSdkTelemetry } from 'ai'; import type { AttributeValue, BuiltTelemetry, OpaqueTracer } from '../types/telemetry'; type RedactFn = (data: Record) => Record; export declare class Telemetry { protected enabledValue: boolean; protected functionIdValue?: string; protected metadataValue?: Record; protected recordInputsValue: boolean; protected recordOutputsValue: boolean; protected runtimeRootSpanEnabledValue: boolean; protected redactFn?: RedactFn; protected integrationsList: AiSdkTelemetry[]; protected tracerValue?: OpaqueTracer; protected otlpEndpointValue?: string; protected credentialNameValue?: string; credential(name: string): this; get declaredCredential(): string | undefined; protected resolvedKey?: string; set resolvedApiKey(key: string); enabled(value: boolean): this; functionId(value: string): this; metadata(value: Record): this; recordInputs(value: boolean): this; recordOutputs(value: boolean): this; runtimeRootSpan(value: boolean): this; redact(fn: RedactFn): this; integration(value: AiSdkTelemetry): this; tracer(value: OpaqueTracer): this; otlpEndpoint(value: string): this; build(): Promise; static shutdown(telemetry: BuiltTelemetry): Promise; static forceFlush(telemetry: BuiltTelemetry | undefined): Promise; } export {};