import { AxiosPromise, AxiosRequestConfig } from "axios"; import { FlclLogger } from "fc-logger"; import { RedisClient } from "redis"; export interface AppObj { logger?: FlclLogger, axios: FlclAxiosMiddleware, auth_url: string, create_package_url: string, package_status_url: string, label_url: string, invoice_url: string, tracking_url: string, idToken: string; bearerToken: string; userName: string; password: string; clientName: string; clientId: string, clientSecrect: string, wareHouseId: string, config: any, mode: 'production' | 'docker' | string, isDocker: boolean [x: string]: any } export interface FlclAxiosMiddleware { get(url: string, config?: AxiosRequestConfig): AxiosPromise; post(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; put(url: string, data?: any, config?: AxiosRequestConfig): AxiosPromise; delete(url: string, config?: AxiosRequestConfig): AxiosPromise; } export interface ValidObject { [x: string]: string | number | boolean | object | [] | any } export interface DelhiveryAuthToken { bearerToken: string, tokenExpiry: number, idToken: string } export type mode = 'production' | 'docker' export interface DelhiveryOptions { rootRequestId: string, requestId: string, logger: FlclLogger, userName: string, password: string, clientName: string, clientId: string, clientSecrect: string, wareHouseId: string, mode: 'production' | 'docker', config: any // redis: RedisClient }