import { Breadcrumb } from './breadcrumb' ; import { Context , Contexts } from './context' ; import { EventProcessor } from './eventprocessor' ; import { Extra , Extras } from './extra' ; import { Primitive } from './misc' ; import { RequestSession , Session } from './session' ; import { SeverityLevel } from './severity' ; import { Span } from './span' ; import { Transaction } from './transaction' ; import { User } from './user' ; /** JSDocs */ export type CaptureContext = Scope | Partial < ScopeContext > | ( ( scope : Scope ) => Scope ) ; /** JSDocs */ export interface ScopeContext { user : User ; level : SeverityLevel ; extra : Extras ; contexts : Contexts ; tags : { [ key ] : Primitive ; } ; fingerprint : string [ ] ; requestSession : RequestSession ; } /**
 * Holds additional event information.  Scope . applyToEvent will be called by the client before an event is sent.
  export interface Scope { /** Add new event processor that will be called after  applyToEvent .  addEventProcessor ( callback ) : this ; param user setUser ( user ) : this ; /**
     * Returns the `User` if there is one
     */ getUser ( ) : User | undefined ; param tags setTags ( tags ) : this ; param key param value setTag ( key , value ) : this ; param extras setExtras ( extras ) : this ; param key param extra setExtra ( key , extra ) : this ; param fingerprint setFingerprint ( fingerprint ) : this ; param level string  Severity setLevel ( level ) : this ; /**
     * Sets the transaction name on the scope for future events.
     */ setTransactionName ( name ? ) : this ; param name param context setContext ( name , context ) : this ; param span setSpan ( span ? ) : this ; /**
     * Returns the `Span` if there is one
     */ getSpan ( ) : Span | undefined ; /**
     * Returns the `Transaction` attached to the scope (if there is one)
     */ getTransaction ( ) : Transaction | undefined ; /**
     * Returns the `Session` if there is one
     */ getSession ( ) : Session | undefined ; /**
     * Sets the `Session` on the scope
     */ setSession ( session ? ) : this ; /**
     * Returns the `RequestSession` if there is one
     */ getRequestSession ( ) : RequestSession | undefined ; /**
     * Sets the `RequestSession` on the scope
     */ setRequestSession ( requestSession ? ) : this ; param captureContext update ( captureContext ? ) : this ; /** Clears the current scope and resets its properties. */ clear ( ) : this ; param breadcrumbs param maxBreadcrumbs addBreadcrumb ( breadcrumb , maxBreadcrumbs ? ) : this ; /**
     * Clears all currently set Breadcrumbs.
     */ clearBreadcrumbs ( ) : this ; }