import { ResponseType, ZelApiV1Options, ZelApiV2Options } from "../types/index.js"; import { UniversalParams } from "./handler.js"; declare abstract class ZelApiBase { protected abstract baseUrl: string; protected headers: Record; protected apiKey?: string; constructor(options: ZelApiV1Options | ZelApiV2Options); /** * Makes a request to the API. * @param path - The API endpoint path. * @param params - The request parameters. Can be an object or a single string. * @param responseType - The expected response type. * @returns A promise that resolves with the API response. */ request(path: string, params?: UniversalParams, responseType?: ResponseType): Promise | T>; /** * Makes a request and expects a JSON response. * @param path - The API endpoint path. * @param params - The request parameters. * @returns A promise that resolves with the JSON response. */ json(path: string, params?: UniversalParams): Promise | T>; /** * Makes a request and expects a text response. * @param path - The API endpoint path. * @param params - The request parameters. * @returns A promise that resolves with the text response. */ text(path: string, params?: UniversalParams): Promise>; /** * Makes a request and expects a buffer response (for images, videos, etc.). * @param path - The API endpoint path. * @param params - The request parameters. * @returns A promise that resolves with the buffer response. */ buffer(path: string, params?: UniversalParams): Promise>; } /** * ZelApi v1 Client * Connects to zelapioffciall.koyeb.app * API key is optional. */ export declare class ZelApiv1 extends ZelApiBase { protected baseUrl: string; constructor(options?: ZelApiV1Options); } /** * ZelApi v2 Client * Connects to zelapioffciall.dpdns.org * API key is required. */ export declare class ZelApiv2 extends ZelApiBase { protected baseUrl: string; constructor(options: ZelApiV2Options); } export {};