///
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>;
}