/// import type { RequestOptions } from 'https'; export type BasicAuth = { apikey: string; siteid: string; }; export type BearerAuth = string; export type RequestAuth = BasicAuth | BearerAuth; export type RequestData = Record | undefined; export type RequestHandlerOptions = { method: RequestOptions['method']; uri: string; headers: RequestOptions['headers']; body?: string | null; }; export interface PushRequestData { delivery_id?: string; device_id?: string; event?: 'delivered' | 'opened' | 'converted'; timestamp?: number; } export default class CIORequest { apikey?: BasicAuth['apikey']; siteid?: BasicAuth['siteid']; appKey?: BearerAuth; auth: string; defaults: RequestOptions; constructor(auth: RequestAuth, defaults?: RequestOptions); options(uri: string, method: RequestOptions['method'], data?: RequestData): RequestHandlerOptions; handler({ uri, body, method, headers }: RequestHandlerOptions): Promise>; get(uri: string): Promise>; put(uri: string, data?: RequestData): Promise>; destroy(uri: string): Promise>; post(uri: string, data?: RequestData): Promise>; }