import type { ClientOptions, RawAttributes } from '@sentry/core';
import { type Span } from '@sentry/core';
/**
 * Drops spans for tunnel requests from middleware, fetch instrumentation, or BaseServer.handleRequest.
 * This catches:
 * 1. Requests to the local tunnel route (before rewrite) via middleware or BaseServer.handleRequest
 * 2. Requests to Sentry ingest (after rewrite) via fetch spans
 */
export declare function dropMiddlewareTunnelRequests(span: Span, attrs: RawAttributes<Record<string, unknown>> | undefined): void;
/**
 * Checks if a span's HTTP target matches the tunnel route.
 */
export declare function isTunnelRouteSpan(spanAttributes: Record<string, unknown>): boolean;
/**
 * Returns `ignoreSpans` entries for the spans of incoming tunnel requests.
 *
 * Span streaming checks `ignoreSpans` at span start, before `dropMiddlewareTunnelRequests` runs. The entries match only
 * Next.js request spans, so other spans with the same path are kept.
 */
export declare function getTunnelRouteIgnoreSpans(): NonNullable<ClientOptions['ignoreSpans']>;
//# sourceMappingURL=dropMiddlewareTunnelRequests.d.ts.map