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