import type { Attributes } from "@opentelemetry/api";
import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
import type { SdkLogRecord } from "@opentelemetry/sdk-logs";
import type { MetricDependencyDimensions, MetricRequestDimensions, StandardMetricBaseDimensions } from "./types.js";
import type { Resource } from "@opentelemetry/resources";
export declare function getRequestDimensions(span: ReadableSpan): Attributes;
export declare function getDependencyDimensions(span: ReadableSpan): Attributes;
export declare function getExceptionDimensions(resource: Resource): Attributes;
export declare function getTraceDimensions(resource: Resource): Attributes;
export declare function getBaseDimensions(resource: Resource): StandardMetricBaseDimensions;
export declare function getDependencyTarget(attributes: Attributes): string;
export declare function isSqlDB(dbSystem: string): boolean;
export declare function isExceptionTelemetry(logRecord: SdkLogRecord): boolean;
export declare function isTraceTelemetry(logRecord: SdkLogRecord): boolean;
export declare function isSyntheticLoad(record: SdkLogRecord | ReadableSpan): boolean;
export declare function convertDimensions(dimensions: MetricDependencyDimensions | MetricRequestDimensions): Attributes;
/**
 * Returns available system memory in bytes.
 * On Linux, reads MemAvailable from /proc/meminfo which accounts for reclaimable
 * memory (page cache, buffers), providing a more accurate measure than os.freemem()
 * which only reports MemFree. Falls back to os.freemem() on other platforms or on error.
 */
export declare function readAvailableMemory(): number;
export declare function getPhysicalMemory(): number;
export declare function getProcessorTimeNormalized(lastHrTime: bigint, lastCpuUsage: NodeJS.CpuUsage): number;
export declare function getProcessorTime(lastHrTime: bigint, lastCpuUsage: NodeJS.CpuUsage): number;
/**
 * Gets the cloud role name based on the resource attributes
 */
export declare function getCloudRole(resource: Resource): string;
/**
 * Gets the cloud role instance based on the resource attributes
 */
export declare function getCloudRoleInstance(resource: Resource): string;
//# sourceMappingURL=utils.d.ts.map