import type { ArgumentsHost, CallHandler, DynamicModule, ExecutionContext, HttpServer, NestInterceptor, OnModuleInit } from '@nestjs/common';
import { BaseExceptionFilter } from '@nestjs/core';
import type { Observable } from 'rxjs';
/**
 * Note: We cannot use @ syntax to add the decorators, so we add them directly below the classes as function wrappers.
 */
/**
 * Interceptor to add Sentry tracing capabilities to Nest.js applications.
 *
 * @deprecated `SentryTracingInterceptor` is deprecated.
 * If you are using `@sentry/nestjs` you can safely remove any references to the `SentryTracingInterceptor`.
 * If you are using another package migrate to `@sentry/nestjs` and remove the `SentryTracingInterceptor` afterwards.
 */
declare class SentryTracingInterceptor implements NestInterceptor {
    readonly __SENTRY_INTERNAL__: boolean;
    constructor();
    /**
     * Intercepts HTTP requests to set the transaction name for Sentry tracing.
     */
    intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
}
export { SentryTracingInterceptor };
/**
 * Global filter to handle exceptions and report them to Sentry.
 */
declare class SentryGlobalFilter extends BaseExceptionFilter {
    readonly __SENTRY_INTERNAL__: boolean;
    private readonly _logger;
    constructor(applicationRef?: HttpServer);
    /**
     * Catches exceptions and reports them to Sentry unless they are expected errors.
     */
    catch(exception: unknown, host: ArgumentsHost): void;
}
export { SentryGlobalFilter };
/**
 * Global filter to handle exceptions in NestJS + GraphQL applications and report them to Sentry.
 *
 * @deprecated `SentryGlobalGraphQLFilter` is deprecated. Use the `SentryGlobalFilter` instead. The `SentryGlobalFilter` is a drop-in replacement.
 */
declare class SentryGlobalGraphQLFilter {
    private static readonly _logger;
    readonly __SENTRY_INTERNAL__: boolean;
    constructor();
    /**
     * Catches exceptions and reports them to Sentry unless they are HttpExceptions.
     */
    catch(exception: unknown, host: ArgumentsHost): void;
}
export { SentryGlobalGraphQLFilter };
/**
 * Global filter to handle exceptions and report them to Sentry.
 *
 * This filter is a generic filter that can handle both HTTP and GraphQL exceptions.
 *
 * @deprecated `SentryGlobalGenericFilter` is deprecated. Use the `SentryGlobalFilter` instead. The `SentryGlobalFilter` is a drop-in replacement.
 */
export declare const SentryGlobalGenericFilter: typeof SentryGlobalFilter;
/**
 * Service to set up Sentry performance tracing for Nest.js applications.
 *
 * @deprecated `SentryService` is deprecated.
 * If you are using `@sentry/nestjs` you can safely remove any references to the `SentryService`.
 * If you are using another package migrate to `@sentry/nestjs` and remove the `SentryService` afterwards.
 */
declare class SentryService implements OnModuleInit {
    readonly __SENTRY_INTERNAL__: boolean;
    constructor();
    /**
     * Initializes the Sentry service and registers span attributes.
     */
    onModuleInit(): void;
}
export { SentryService };
/**
 * Set up a root module that can be injected in nest applications.
 */
declare class SentryModule {
    /**
     * Configures the module as the root module in a Nest.js application.
     */
    static forRoot(): DynamicModule;
}
export { SentryModule };
//# sourceMappingURL=setup.d.ts.map