import { type Span, type Tracer, SpanKind } from "@opentelemetry/api";
export type SpanOptions = {
    name: string;
    tracer: Tracer;
    kind?: SpanKind;
    attributes?: Record<string, string | number | boolean | undefined>;
};
export declare function withSpan<T>(options: SpanOptions, fn: (span: Span) => Promise<T>): Promise<T>;
export declare function withClientSpan<T>(options: Omit<SpanOptions, "kind">, fn: (span: Span) => Promise<T>): Promise<T>;
