import { KiwiConfig } from './types'; /** * Base XML-RPC client for Kiwi TCMS */ export declare class KiwiClient { private client?; private config; private sessionId?; private cfAuthCookie?; constructor(config: KiwiConfig); /** * Get Cloudflare Access authorization cookie using axios */ private getCloudflareAuthCookie; /** * Initialize the XML-RPC client with proper authentication */ private initializeClient; /** * Make an XML-RPC method call */ call(method: string, params?: any[]): Promise; /** * Authenticate with the Kiwi TCMS server */ login(): Promise; /** * Logout from the Kiwi TCMS server */ logout(): Promise; /** * Make an authenticated XML-RPC call * Note: Kiwi TCMS uses session cookies for authentication, not session ID parameters */ authenticatedCall(method: string, params?: any[]): Promise; /** * Get the current session ID */ getSessionId(): string | undefined; /** * Check if client is authenticated */ isAuthenticated(): boolean; /** * Set session ID manually (useful for token-based auth) */ setSessionId(sessionId: string): void; /** * Test connectivity to the server */ testConnection(): Promise; getVersion(): Promise; /** * List available XML-RPC methods (useful for debugging) */ listMethods(): Promise; /** * Set a custom header for all requests */ setHeader(name: string, value: string): void; /** * Set Cloudflare Access credentials */ setCloudflareAccess(clientId: string, clientSecret: string): void; /** * Get current headers configuration */ getHeaders(): { [key: string]: string; } | undefined; /** * Get the current configuration */ getConfig(): KiwiConfig; }