/**
 * WhatsApp Initializer
 *
 * Handles automatic WhatsApp connection on application startup.
 * Checks for environment variables and initializes if configured.
 *
 * @module services/whatsapp/initializer
 */
import type { WhatsAppConfig } from '../../types/whatsapp.types.js';
import type { MessageQueueService } from '../messaging/message-queue.service.js';
/**
 * Result of initialization attempt
 */
export interface WhatsAppInitResult {
    /** Whether initialization was attempted */
    attempted: boolean;
    /** Whether initialization succeeded */
    success: boolean;
    /** Error message if failed */
    error?: string;
}
/**
 * Options for WhatsApp initialization
 */
export interface WhatsAppInitOptions {
    /** Optional MessageQueueService for enqueuing messages to orchestrator */
    messageQueueService?: MessageQueueService;
}
/**
 * Check if WhatsApp is configured via environment variables.
 *
 * @returns True if WHATSAPP_ENABLED is set to 'true'
 */
export declare function isWhatsAppConfigured(): boolean;
/**
 * Get WhatsApp configuration from environment variables.
 *
 * @returns WhatsAppConfig object or null if not configured
 */
export declare function getWhatsAppConfigFromEnv(): WhatsAppConfig | null;
/**
 * Initialize WhatsApp integration if configured via environment variables.
 *
 * This function is designed to be called during application startup.
 * It safely handles cases where WhatsApp is not configured.
 *
 * @param options - Optional initialization options
 * @returns Result object indicating success or failure
 *
 * @example
 * ```typescript
 * const result = await initializeWhatsAppIfConfigured({
 *   messageQueueService: myService,
 * });
 * if (result.success) {
 *   console.log('WhatsApp connected!');
 * }
 * ```
 */
export declare function initializeWhatsAppIfConfigured(options?: WhatsAppInitOptions): Promise<WhatsAppInitResult>;
/**
 * Gracefully shutdown WhatsApp integration.
 * Call this during application shutdown to disconnect cleanly.
 */
export declare function shutdownWhatsApp(): Promise<void>;
//# sourceMappingURL=whatsapp-initializer.d.ts.map