UNPKG

@smash-sdk/core

Version:

Smash Sdk Core

89 lines (88 loc) 3.4 kB
/// <reference types="node" /> /// <reference types="node" /> import { Region, Global as GlobalRegion, RefreshTokenMethod } from "../client/types"; import { RefreshTokenManager } from "../helper/refreshTokenManager"; import { Agent as HttpAgent } from 'http'; import { Agent as HttpsAgent } from 'https'; declare const globalKey: unique symbol; export interface RegionalHost { "eu-west-1"?: string; "eu-west-2"?: string; "eu-west-3"?: string; "eu-central-1"?: string; "us-east-1"?: string; "us-east-2"?: string; "us-west-1"?: string; "us-west-2"?: string; "ca-central-1"?: string; } export interface GlobalHost { global: string; } export interface Hosts { [key: string]: GlobalHost | RegionalHost; } declare global { namespace NodeJS { interface Global { [globalKey]?: Config; smashSdkHosts?: Hosts; smashSdkToken?: string; smashSdkRegion?: Region | GlobalRegion; smashSdkRefreshTokenMethod?: RefreshTokenMethod; smashSdkRefreshTokenManager?: RefreshTokenManager; smashSdkTimeout?: number; smashSdkHttpAgent?: HttpAgent; smashSdkHttpsAgent?: HttpsAgent; } } interface Window { [globalKey]?: Config; smashSdkHosts?: Hosts; smashSdkToken?: string; smashSdkRegion?: Region | GlobalRegion; smashSdkRefreshTokenMethod?: RefreshTokenMethod; smashSdkRefreshTokenManager?: RefreshTokenManager; smashSdkTimeout?: number; smashSdkHttpAgent?: HttpAgent; smashSdkHttpsAgent?: HttpsAgent; } } export declare class Config { private static instance; get hosts(): Hosts; set hosts(hosts: Hosts); get token(): string | undefined; set token(token: string | undefined); get region(): Region | GlobalRegion | undefined; set region(region: Region | GlobalRegion | undefined); get timeout(): number | undefined; set timeout(timeout: number | undefined); get httpAgent(): HttpAgent | undefined; set httpAgent(httpAgent: HttpAgent | undefined); get httpsAgent(): HttpsAgent | undefined; set httpsAgent(httpsAgent: HttpsAgent | undefined); get refreshTokenMethod(): RefreshTokenMethod | undefined; set refreshTokenMethod(refreshTokenMethod: RefreshTokenMethod | undefined); get refreshtokenManager(): RefreshTokenManager | undefined; set refreshtokenManager(refreshTokenManager: RefreshTokenManager | undefined); static get Instance(): Config; constructor(); getHost(service: keyof Hosts, region?: Region | GlobalRegion): string; setHosts(service: string, hosts: RegionalHost | GlobalHost, overwrite?: boolean): void; setRegion(region: Region): void; getRegion(): Region | GlobalRegion | undefined; setToken(token: string): void; getToken(): string | undefined; setRefreshTokenMethod(refreshtokenMethod: RefreshTokenMethod): void; getRefreshTokenMethod(): RefreshTokenMethod | undefined; getRefreshTokenManager(): RefreshTokenManager | undefined; setTimeout(timeout: number): void; getTimeout(): number | undefined; setHttpAgent(httpAgent: HttpAgent): void; getHttpAgent(): HttpAgent | undefined; setHttpsAgent(httpsAgent: HttpsAgent): void; getHttpsAgent(): HttpsAgent | undefined; } export declare const config: Config; export {};