export type Plugin = { name: string; hooks?: { beforeRequest?: ( request: AdapterRequest, ) => Promise | AdapterRequest; afterResponse?: ( response: AdapterResponse, request: AdapterRequest, retry: (request: AdapterRequest) => Promise, ) => Promise | AdapterResponse; }; context?: Context; }; export type AdapterRequest = Request; export type AdapterResponse = Response;