UNPKG

@joshuaavalon/cloudflare-dns-api

Version:

Cloudflare DDNS api wrapper.

37 lines (36 loc) 1.07 kB
import { AxiosRequestConfig, AxiosResponse } from "axios"; import { ApiResponse, ListParameter } from "./model"; export declare const axiosInstance: import("axios").AxiosInstance; export interface GlobalAuth { /** * Cloudflare account email */ email: string; /** * Cloudflare API Key */ globalToken: string; } export interface ScopedAuth { /** * Cloudflare API token */ scopedToken: string; } export declare type Auth = GlobalAuth | ScopedAuth; export declare type ApiRequest<TParam, TData> = { baseURL?: string; auth: Auth; } & (TParam extends undefined ? { params?: ListParameter & TParam; } : { params: ListParameter & TParam; }) & (TData extends undefined ? { data?: TData; } : { data: TData; }); export declare const createRequestConfig: (req: ApiRequest<any, any>) => AxiosRequestConfig; export interface Api<TResult, TParam = undefined, TData = undefined, TArg = Record<string, unknown>> { (req: ApiRequest<TParam, TData> & TArg): Promise<AxiosResponse<ApiResponse<TResult>>>; }