waha.js
Version:
TypeScript SDK for WAHA (WhatsApp HTTP API)
57 lines (56 loc) • 1.94 kB
TypeScript
import { AxiosInstance, AxiosRequestConfig } from 'axios';
import { WahaClientConfig } from './types';
/**
* Base client for making API requests to WAHA
*/
export declare class WahaBaseClient {
protected readonly client: AxiosInstance;
protected readonly config: WahaClientConfig;
/**
* Create a new WAHA client
* @param config Client configuration
*/
constructor(config: WahaClientConfig);
/**
* Make a GET request
* @param url API endpoint
* @param params Query parameters
* @param config Additional axios config
* @returns Promise with response data
*/
protected get<T = any>(url: string, params?: Record<string, any>, config?: AxiosRequestConfig): Promise<T>;
/**
* Make a POST request
* @param url API endpoint
* @param data Request body
* @param config Additional axios config
* @returns Promise with response data
*/
protected post<T = any>(url: string, data?: Record<string, any>, config?: AxiosRequestConfig): Promise<T>;
/**
* Make a PUT request
* @param url API endpoint
* @param data Request body
* @param config Additional axios config
* @returns Promise with response data
*/
protected put<T = any>(url: string, data?: Record<string, any>, config?: AxiosRequestConfig): Promise<T>;
/**
* Make a DELETE request
* @param url API endpoint
* @param config Additional axios config
* @returns Promise with response data
*/
protected delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
/**
* Get the default session name
* @returns Default session name
*/
protected getDefaultSession(): string;
/**
* Format session parameter for URL
* @param session Session name or undefined to use default
* @returns Formatted session name
*/
protected formatSession(session?: string): string;
}