import { DiagLogLevel } from "@opentelemetry/api"; import { type ReadableSpan } from "@opentelemetry/sdk-trace-base"; import * as v from "valibot"; /** Processed configuration shared by web and Node.js */ export interface Configuration { enabled: boolean; service: string; token?: string; collector: URL; headers: Record; otlp: { traces: string; metrics: string; logs: string; }; logLevel: DiagLogLevel; tracingMode?: boolean; triggerTraceEnabled: boolean; exportLogsEnabled: boolean; transactionName?: (span: ReadableSpan) => string | undefined; transactionSettings?: { tracing: boolean; matcher: (ident: string) => boolean; }[]; } export declare const schemas: { readonly boolean: v.UnionSchema<[v.BooleanSchema, v.SchemaWithPipe, v.TransformAction<"0" | "1" | "true" | "false", boolean>]>], undefined>; readonly logLevel: v.SchemaWithPipe, v.TransformAction<"all" | "verbose" | "debug" | "info" | "warn" | "error" | "none", DiagLogLevel>]>; readonly regex: v.UnionSchema<[v.InstanceSchema, v.SchemaWithPipe, v.RawTransformAction]>], undefined>; readonly serviceKey: v.SchemaWithPipe, v.RegexAction, v.TransformAction]>; readonly tracingMode: v.SchemaWithPipe, v.TransformAction<"enabled" | "disabled", boolean>]>; readonly url: v.UnionSchema<[v.InstanceSchema<{ new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; }, undefined>, v.SchemaWithPipe, v.RawTransformAction]>], undefined>; }; export interface Defaults { serviceKey?: string; triggerTraceEnabled: boolean; } export declare const schema: (defaults: Defaults) => v.SchemaWithPipe, v.SchemaWithPipe, v.TransformAction<"0" | "1" | "true" | "false", boolean>]>], undefined>, true>; readonly serviceKey: v.SchemaWithPipe, v.RegexAction, v.TransformAction]> | v.OptionalSchema, v.RegexAction, v.TransformAction]>, string>; readonly collector: v.OptionalSchema, v.SchemaWithPipe, v.RawTransformAction]>], undefined>, "apm.collector.na-01.cloud.solarwinds.com">; readonly logLevel: v.OptionalSchema, v.TransformAction<"all" | "verbose" | "debug" | "info" | "warn" | "error" | "none", DiagLogLevel>]>, "warn">; readonly tracingMode: v.OptionalSchema, v.TransformAction<"enabled" | "disabled", boolean>]>, undefined>; readonly triggerTraceEnabled: v.OptionalSchema, v.SchemaWithPipe, v.TransformAction<"0" | "1" | "true" | "false", boolean>]>], undefined>, boolean>; readonly exportLogsEnabled: v.OptionalSchema, v.SchemaWithPipe, v.TransformAction<"0" | "1" | "true" | "false", boolean>]>], undefined>, false>; readonly transactionName: v.OptionalSchema, v.TransformAction string>]>, v.SchemaWithPipe string | undefined, undefined>, v.TransformAction<(span: ReadableSpan) => string | undefined, (span: ReadableSpan) => string | undefined>]>, v.SchemaWithPipe; readonly delimiter: v.StringSchema; readonly attributes: v.SchemaWithPipe, undefined>, v.MinLengthAction]>; }, undefined>, undefined>, v.TransformAction<{ scheme: "spanAttribute"; delimiter: string; attributes: string[]; }[], (span: ReadableSpan) => string | undefined>]>], undefined>, undefined>; readonly transactionSettings: v.OptionalSchema, v.TransformAction<"enabled" | "disabled", boolean>]>; readonly regex: v.UnionSchema<[v.InstanceSchema, v.SchemaWithPipe, v.RawTransformAction]>], undefined>; }, undefined>, v.TransformAction<{ tracing: boolean; regex: RegExp; }, { tracing: boolean; matcher: (ident: string) => boolean; }>]>, v.SchemaWithPipe, v.TransformAction<"enabled" | "disabled", boolean>]>; readonly matcher: v.CustomSchema<(ident: string) => boolean, undefined>; }, undefined>, v.TransformAction<{ tracing: boolean; matcher: (ident: string) => boolean; }, { tracing: boolean; matcher: (ident: string) => boolean; }>]>], undefined>, undefined>, undefined>; }, undefined>, v.TransformAction<{ enabled: boolean; serviceKey: { token: string | undefined; name: string; }; collector: URL; logLevel: DiagLogLevel; tracingMode?: boolean | undefined; triggerTraceEnabled: boolean; exportLogsEnabled: boolean; transactionName?: (() => string) | ((span: ReadableSpan) => string | undefined) | ((span: ReadableSpan) => string | undefined) | undefined; transactionSettings?: ({ tracing: boolean; matcher: (ident: string) => boolean; } | { tracing: boolean; matcher: (ident: string) => boolean; })[] | undefined; }, Configuration>]>; export declare const env: { PREFIX: string; /** * Returns a config object from an environment object by filtering the keys * by prefix then stripping it and renaming them to camelCase */ object(object: Record, prefix?: string): Record; /** Converts an environment variable name to a config key */ fromKey(k: string, prefix?: string): string; /** Converts a config key to an environment variable name */ toKey(k: string, prefix?: string): string; }; //# sourceMappingURL=config.d.ts.map