'use strict' ; import type GlobalsLike from './GlobalsLike' ; declare global { type AnyRecord = Record < string , any > ; type DeepPartial < T > = { [ P in keyof T ] ? : ( T [ P ] | DeepPartial < T [ P ] > ) ; } ; type DeepRecord < K extends keyof any , T > = { [ P in K ] : ( T | DeepRecord < K , T > ) ; } ; type ExtractArrayType < T > = T extends ( infer U ) [ ] ? U : never ; interface CallableFunction { apply < TScope , TArguments extends Array < unknown > , TReturn > ( this , thisArg , args ? ) : TReturn ; } interface Element { private requires gradient ? : string ; private requires radialReference ? : Array < number > ; setAttribute ( qualifiedName , value ) : void ; } interface HTMLElement { parentNode : HTMLElement ; } interface Math { easeInOutSine ( pos ) : number ; } interface ObjectConstructor { param o param proto setPrototypeOf ? < T > ( o , proto ) : T ; } interface SVGElement { private requires cutHeight ? : number ; parentNode : SVGElement ; } interface TouchList { changedTouches : Array < Touch > ; } } /**
 * Shared Highcharts properties.
 */ namespace Globals { export const SVG_NS = 'http://www.w3.org/2000/svg' , product = 'Highcharts' , version = '@product.version@' , win = ( typeof window !== 'undefined' ? window : { } ) as ( Window & typeof globalThis ) , doc = win . document , svg = ( doc && doc . createElementNS && ! ! ( doc . createElementNS ( SVG_NS , 'svg' ) as SVGSVGElement ) . createSVGRect ) , userAgent = ( win . navigator && win . navigator . userAgent ) || '' , isChrome = userAgent . indexOf ( 'Chrome' ) !== - 1 , isFirefox = userAgent . indexOf ( 'Firefox' ) !== - 1 , isMS = /(edge|msie|trident)/i . test ( userAgent ) && ! win . opera , isSafari = ! isChrome && userAgent . indexOf ( 'Safari' ) !== - 1 , isTouchDevice = /(Mobile|Android|Windows Phone)/ . test ( userAgent ) , isWebKit = userAgent . indexOf ( 'AppleWebKit' ) !== - 1 , deg2rad = Math . PI * 2 / 360 , hasBidiBug = ( isFirefox && parseInt ( userAgent . split ( 'Firefox/' ) [ 1 ] , 10 ) < 4 ) , hasTouch = ! ! win . TouchEvent , marginNames = [ 'plotTop' , 'marginRight' , 'marginBottom' , 'plotLeft' ] , noop = function ( ) : void { } , supportsPassiveEvents = ( function ( ) : boolean { let supportsPassive = false ; if ( ! isMS ) { const opts = Object . defineProperty ( { } , 'passive' , { get : function ( ) : void { supportsPassive = true ; } } ) ; if ( win . addEventListener && win . removeEventListener ) { win . addEventListener ( 'testPassive' , noop , opts ) ; win . removeEventListener ( 'testPassive' , noop , opts ) ; } } return supportsPassive ; } ( ) ) ; name type { Array < Highcharts . Chart | undefined > } export const charts = [ ] ; sample name type { Record < string , Highcharts . TimeFormatCallbackFunction > } export const dateFormats = { } ; private deprecated todo export const seriesTypes = { } as GlobalsLike [ 'seriesTypes' ] ; private export const symbolSizes = { } ; export let chartCount = 0 ; } export default Globals as unknown as GlobalsLike ; /**
 * Theme options that should get applied to the chart. In module mode it
 * might not be possible to change this property because of read-only
 * restrictions, instead use  Highcharts . setOptions .
 *
 *  deprecated name type { Highcharts . Options } ( '' ) ;