import type { ObservabilityContext, TracingContext } from './types/index.js';
/**
 * Creates an observability context with real or no-op implementations for
 * tracing, logging, and metrics.
 *
 * When a TracingContext with a current span is provided, the logger and metrics
 * contexts are derived from the span's ObservabilityInstance so that log entries
 * and metric data points are automatically correlated to the active trace.
 *
 * @param tracingContext - TracingContext with current span, or undefined for no-op
 * @returns ObservabilityContext with all three signals (tracing, logger, metrics)
 */
export declare function createObservabilityContext(tracingContext?: TracingContext): ObservabilityContext;
/**
 * Resolves a partial observability context (from execute params) into a
 * complete ObservabilityContext with no-op defaults for any missing fields.
 *
 * Explicitly provided logger/metrics contexts are preserved (e.g. when set
 * upstream). When missing, they are derived from the tracing context's span,
 * following the same derivation logic as createObservabilityContext().
 *
 * @param partial - Partial context from ExecuteFunctionParams
 * @returns Complete ObservabilityContext
 */
export declare function resolveObservabilityContext(partial: Partial<ObservabilityContext>): ObservabilityContext;
//# sourceMappingURL=context-factory.d.ts.map