import { IntegratorService } from '../modules/integrator';
import { AuthService } from '../modules/auth';
import { MobileMoneyService } from '../modules/mobile-money/mobile-money.service';
import { KotaniPayConfig, AuthenticatedSession } from '../types';
export declare class KotaniPayClient {
    private httpClient;
    integrator: IntegratorService;
    auth: AuthService;
    mobileMoney: MobileMoneyService;
    constructor(config: KotaniPayConfig);
    /**
     * Initialize client with session data after user login
     */
    initializeWithSession(sessionData: AuthenticatedSession): void;
    /**
     * Initialize client with API key (for authenticated operations)
     */
    initializeWithApiKey(apiKey: string): void;
    healthCheck(): Promise<{
        status: string;
        timestamp: string;
    }>;
    getConfig(): {
        environment: string;
        baseURL: string;
    };
    getVersion(): string;
    /**
     * Check if client is authenticated
     */
    isAuthenticated(): boolean;
    /**
     * Get authentication status with detailed info
     */
    getAuthStatus(): {
        isAuthenticated: boolean;
        hasSession: boolean;
        hasApiKey: boolean;
        tokenInfo?: any;
    };
}
//# sourceMappingURL=kotani-pay.client.d.ts.map