type ToastSettings = ( { transient : false ; } | { transientTimeout : number ; transient : true ; } ) & { type : 'info' | 'danger' ; } ; export type StackExchange = { ready : ( callback : ( ) => void ) => void ; helpers : { suggestedTransientTimeout : ( message : string , isToast : boolean ) => number ; showToast : ( message : string , settings : ToastSettings ) => void ; } ; options : { serverTimeOffsetSec : number ; site : { name : string ; } ; user : { fkey : string ; rep : number ; userId : number ; } ; } ; realtime : { updateRelativeDates : ( ) => void ; } ; topbar : { hideAll : ( ) => void ; } ; using : ( moduleName : string , callback : ( ) => void ) => void ; } ; declare global { interface Window { StackExchange : StackExchange ; } const unsafeWindow ; const GM_info ; }