/**
 * Copyright (c) 2023. Broadcom.  All rights reserved.
 *
 * This software and all information contained therein is confidential and
 * proprietary and shall not be duplicated, used, disclosed or disseminated
 * in any way except as authorized by the applicable license agreement,
 * without the express written permission of BROADCOM. All authorized reproductions
 * must be marked with this language.
 *
 * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT
 * PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS SOFTWARE WITHOUT
 * WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED
 * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  IN
 * NO EVENT WILL BROADCOM BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY
 * LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE,
 * INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION,
 * GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED OF SUCH LOSS OR
 * DAMAGE.
 *
 * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
 *
 **/
export declare class Utils {
    /**
     * Traverse an input object (deep traversal) and for each property that
     * is of type "string", invoke "resolve" to attempt resolution of any
     * ${<var>} style syntax.
     * @param object The object to traverse.
     * @param substitutions The substitution values (keyword value).
     * @param propertyPrefix Prefix of the property to substitute in the text
     *                       (e.g. ${extracted.<propname>}).
     */
    static traverse(object: any, substitutions: any, propertyPrefix?: string): void;
    /**
     * Given an object and its property, attempt to find instances of
     * ${<propname>}. If instances of ${<propname>} are located, attempt to
     * resolve <propname> based on the keyword/value properties of the
     * "substitutions".
     * @param object The object that contains "property".
     * @param property The property of the "object"
     * @param substitutions The keyword/value substitutions to replace
     *                      ${<propname>}
     * @param propertyPrefix Prefix of the property to substitute in the text
     *                       (e.g. ${extracted.<propname>})
     */
    static resolve(object: any, property: any, substitutions: any, propertyPrefix?: string): void;
}
