import { HttpHeaders, HttpMethod } from '../http'; import { Session } from '../session/session'; export interface EndpointRequestDefinition { readonly url?: string; readonly method?: HttpMethod; readonly query?: {}; readonly body?: {}; readonly path?: {}; readonly headers?: HttpHeaders; readonly handleAutoRedirect?: boolean; getData(session?: Session): Promise>; } export interface EndpointRequestDefinitionParams { url: string; method?: HttpMethod; queryParameters?: {}; bodyParameters?: {}; headerParameters?: HttpHeaders; pathParameters?: {}; handleAutoRedirect?: boolean; } export interface EndpointResponse { data: T; httpStatus: number; httpHeaders: HttpHeaders; }