/*! * Copyright 2021 WPPConnect Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { RawABPropConfig } from '../../whatsapp/functions/abPropsCache'; /** * A/B test property configuration */ export interface ABPropConfig extends RawABPropConfig { /** The human-readable config name (e.g., "web_pwa_background_sync") */ name: string | null; } /** * Get all A/B test property configurations for the current session * These are experimental flags that WhatsApp uses for feature testing * * @example * ```javascript * // Get all A/B props as an array * const abProps = WPP.conn.getABProps(); * console.log('Total A/B props:', abProps.length); * * // Log each prop with its name * abProps.forEach(prop => { * console.log(`${prop.name}: ${prop.configValue}`); * }); * ``` * * @returns {ABPropConfig[]} Array of A/B property configurations with names */ export declare function getABProps(): ABPropConfig[]; /** * Get all A/B test property configurations as a Map * The map is keyed by the config code for easier lookup * * @example * ```javascript * // Get all A/B props as a Map * const abPropsMap = WPP.conn.getABPropsMap(); * * // Check a specific config by code * const specificProp = abPropsMap.get('12345'); * if (specificProp) { * console.log('Name:', specificProp.name); * console.log('Value:', specificProp.configValue); * } * * // Convert to object for easy viewing * const result = {}; * abPropsMap.forEach((value, key) => { * result[value.name || key] = value.configValue; * }); * console.table(result); * ``` * * @returns {Map} Map of config code to A/B property configuration with names */ export declare function getABPropsMap(): Map; /** * Get the human-readable name of an A/B config from its code * * @example * ```javascript * // Get name from config code * const name = WPP.conn.getABPropName('12345'); * console.log('Config name:', name); * ``` * * @param configCode - The numeric config code * @returns {string|null} The human-readable config name or null if not found */ export declare function getABPropName(configCode: string): string | null;