UNPKG

typed-wx-api

Version:
34 lines (33 loc) 1.09 kB
import { AccessToken, Ticket, TicketStorage, TokenStorage } from '../storage'; import { AxiosRequestConfig } from 'axios'; export type APIConfig = { baseURL: string; accessTokenKey?: string; }; export type Logger = (message: any, ...args: any[]) => void; /** * @internal */ export declare abstract class APIBase { readonly config: Required<APIConfig>; private tokenStorage; private ticketStorage; private axiosInstance; logger: Logger; constructor(config: APIConfig, tokenStorage?: TokenStorage, ticketStorage?: TicketStorage); request(opts: AxiosRequestConfig & { ignoreAccessToken?: boolean; }, retry?: number): Promise<any>; abstract resolveAccessToken(): Promise<{ access_token: string; expires_in: number; }>; getAccessToken(): Promise<AccessToken>; ensureAccessToken(): Promise<AccessToken>; abstract resolveTicket(type: string): Promise<{ ticket: string; expires_in: number; }>; getTicket(type: string): Promise<Ticket>; ensureTicket(type: string): Promise<Ticket>; }