import type { EsmsConfig } from './types'; import { SmsService, AccountService, ZaloService, ViberService, VoiceService, MultiChannelService, SummaryService } from './services'; /** * eSMS API Client - service-based architecture with proper TypeScript types * * Usage: * ```typescript * const client = new EsmsClient({ apiKey: 'xxx', secretKey: 'yyy' }); * * // Use specific services with credentials * const balance = await client.account.getBalance({ apiKey: 'xxx', secretKey: 'yyy' }); * const smsResult = await client.sms.sendMessageV4({ ... }, { apiKey: 'xxx', secretKey: 'yyy' }); * * // Or use default credentials from constructor * const balance = await client.getBalance(); // backward compatibility * ``` */ export declare class EsmsClient { private http; readonly sms: SmsService; readonly account: AccountService; readonly zalo: ZaloService; readonly viber: ViberService; readonly voice: VoiceService; readonly multiChannel: MultiChannelService; readonly summary: SummaryService; constructor(config: EsmsConfig); /** * @deprecated Use client.account.getBalance() instead (credentials optional now) */ getBalance(): Promise; /** * @deprecated Use client.account.getListBrandname() instead (credentials optional now) */ getListBrandname(): Promise; }