import { HttpMethod } from "../../common/drivers/HttpRequestHandler"; import { AccessTokenDTO } from "../../common/models/AccessTokenDTO"; import { ResponseStatusDTO } from "../../common/models/ResponseStatusDTO"; import { OAuthEntity, OAuthEntityType } from "./OAuthEntity"; export interface OAuthDriver { get dataField(): string; get codeField(): string; get usesUTCSecondsToEpoch(): boolean; getAuthorizeURL(extra: string): string; getAccessToken(code: string, data?: string): Promise; updateAccessToken(refreshToken?: string): Promise; executeRequest(accessToken: string, endpointUri: string, method?: HttpMethod, body?: any, options?: any, headers?: any): Promise; getEntityDefinition(data: any, type?: OAuthEntityType): OAuthEntity; }