export interface WhatsAppCommonConfig {
    redis?: {
        url?: string;
        host?: string;
        port?: number;
        password?: string;
        db?: number;
    };
    database?: {
        url?: string;
        host?: string;
        port?: number;
        name?: string;
        user?: string;
        password?: string;
        ssl?: boolean;
    };
    logging?: {
        level?: string;
    };
    queue?: {
        enabled?: boolean;
        concurrency?: number;
        workerEnabled?: boolean;
    };
    webhook?: {
        url?: string;
    };
    whatsapp?: {
        maxSessionsPerProcess?: number;
        maxReconnectAttempts?: number;
        qrTimeoutMs?: number;
        syncFullHistory?: boolean;
    };
    hybridEvents?: {
        enabled?: boolean;
        enablePubSubNotifications?: boolean;
        pubSubSubscriberPoolSize?: number;
        criticalEventsBothSystems?: boolean;
    };
}
export declare function configureWhatsAppCommon(config: WhatsAppCommonConfig): void;
export declare function getConfig(): {
    redis: {
        url: string;
        host: string;
        port: number;
        password: string;
        db: number;
    };
    database: {
        url: string;
        host: string;
        port: number;
        name: string;
        user: string;
        password: string;
        ssl: boolean;
    };
    logging: {
        level: string;
        nodeEnv: string;
    };
    queue: {
        enabled: boolean;
        concurrency: number;
        workerEnabled: boolean;
    };
    webhook: {
        url: string;
    };
    whatsapp: {
        maxSessionsPerProcess: number;
        maxReconnectAttempts: number;
        qrTimeoutMs: number;
        syncFullHistory: boolean;
    };
    hybridEvents: {
        enabled: boolean;
        enablePubSubNotifications: boolean;
        pubSubSubscriberPoolSize: number;
        criticalEventsBothSystems: boolean;
    };
    port: string;
};
export declare const environment: {
    port: string;
    webhookUrl: string;
    databaseUrl: string;
    redisUrl: string;
    redisHost: string;
    redisPort: number;
    redisPassword: string;
    redisDb: number;
    logLevel: string;
    maxSessionsPerProcess: number;
    enableMessageQueue: boolean;
    workerEnabled: boolean;
    queueConcurrency: number;
    enableHybridEvents: boolean;
    enablePubSubNotifications: boolean;
    pubSubSubscriberPoolSize: number;
    criticalEventsBothSystems: boolean;
};
//# sourceMappingURL=environment.d.ts.map