import { ModuleMetadata, Type } from "@nestjs/common/interfaces"; import { Integration, Options } from '@sentry/types'; import { ConsoleLoggerOptions } from "@nestjs/common"; import { SeverityLevel } from "@sentry/node"; export interface SentryCloseOptions { enabled: boolean; timeout?: number; } export declare type SentryModuleOptions = Omit & { integrations?: Integration[]; close?: SentryCloseOptions; } & ConsoleLoggerOptions; export interface SentryOptionsFactory { createSentryModuleOptions(): Promise | SentryModuleOptions; } export interface SentryModuleAsyncOptions extends Pick { inject?: any[]; useClass?: Type; useExisting?: Type; useFactory?: (...args: any[]) => Promise | SentryModuleOptions; } export declare type SentryTransaction = boolean | 'path' | 'methodPath' | 'handler'; export interface SentryFilterFunction { (exception: any): boolean; } export interface SentryInterceptorOptionsFilter { type: any; filter?: SentryFilterFunction; } export interface SentryInterceptorOptions { filters?: SentryInterceptorOptionsFilter[]; tags?: { [key: string]: string; }; extra?: { [key: string]: any; }; fingerprint?: string[]; level?: SeverityLevel; request?: boolean; serverName?: boolean; transaction?: boolean | 'path' | 'methodPath' | 'handler'; user?: boolean | string[]; version?: boolean; }