import { type Context, type Span } from "@opentelemetry/api";
import { NoopSpanProcessor, type ReadableSpan, type SpanProcessor } from "@opentelemetry/sdk-trace-base";
/** Returns true if this span has no parent or its parent is remote */
export declare function isRootOrEntry(span: Span | ReadableSpan): boolean;
/** Traverses the span hierarchy until the root or entry is found */
export declare function getRootOrEntry(span: Span): Span | undefined;
/**
 * Processor that stores span parents
 *
 * This should be the last registered processor since it will clear the
 * stored parents during {@link onEnd}, but other processors might want
 * to access the parent during their implementation of {@link SpanProcessor.onEnd}
 */
export declare class ParentSpanProcessor extends NoopSpanProcessor implements SpanProcessor {
    onStart(span: Span, parentContext: Context): void;
    onEnd(span: ReadableSpan): void;
}
//# sourceMappingURL=parent-span.d.ts.map