import type { ObservabilityContext } from '@mastra/core/observability';
import type { RequestContext } from '@mastra/core/request-context';
import type { ModelByInputTokens } from './model-by-input-tokens.js';
import type { ResolvedObservationConfig, ResolvedReflectionConfig } from './types.js';
type OmTracingModel = Exclude<ResolvedObservationConfig['model'] | ResolvedReflectionConfig['model'], ModelByInputTokens>;
type OmTracingPhase = 'observer' | 'observer-multi-thread' | 'reflector';
export declare function withOmTracingSpan<T>({ phase, model, inputTokens, requestContext, observabilityContext, metadata, callback, }: {
    phase: OmTracingPhase;
    model: OmTracingModel;
    inputTokens: number;
    requestContext?: RequestContext;
    observabilityContext?: ObservabilityContext;
    metadata?: Record<string, unknown>;
    callback: (observabilityContext: ObservabilityContext) => Promise<T>;
}): Promise<T>;
export {};
//# sourceMappingURL=tracing.d.ts.map