import { AlunaHttpVerbEnum } from '../enums/AlunaHtttpVerbEnum'; import { IAlunaCredentialsSchema } from '../schemas/IAlunaCredentialsSchema'; import { IAlunaSettingsSchema } from '../schemas/IAlunaSettingsSchema'; export interface IAlunaHttpOptions { headers?: any; httpsAgent?: any; } export interface IAlunaHttpPublicParams { url: string; verb?: AlunaHttpVerbEnum; body?: Record; options?: IAlunaHttpOptions; settings?: IAlunaSettingsSchema; query?: string; weight?: number; } export interface IAlunaHttpAuthedParams extends IAlunaHttpPublicParams { credentials: IAlunaCredentialsSchema; } export interface IAlunaHttpRequestCount { authed: number; public: number; } export interface IAlunaHttp { requestWeight: IAlunaHttpRequestCount; publicRequest(params: IAlunaHttpPublicParams): Promise; authedRequest(params: IAlunaHttpAuthedParams): Promise; }