import { CdmArgumentDefinition, CdmEntityDefinition } from '../../../internal';
/**
 * Multiple test classes in projections test the attribute context tree generated for various scenarios.
 * This utility class helps generate the actual attribute context generated by the scenario, so that it can be compared with expected attribute context tree.
 * This also handles the validation of the expected vs. actual attribute context.
 */
export declare class AttributeContextUtil {
    /**
     * This string is used to concatenate all the attribute contexts and traits of an entity into one string
     * so that we can compare it to the expected output txt file.
     */
    private bldr;
    /**
     * Platform-specific line separator
     */
    private endOfLine;
    /**
     * Function to get the attribute context string tree from a resolved entity
     */
    getAttributeContextStrings(resolvedEntity: CdmEntityDefinition): string;
    getArgumentValuesAsString(args: CdmArgumentDefinition): string;
    /**
     * Get the corpus path for each attribute context in the tree and build a string collection that we can
     * compare with the expected attribute context corpus path collection.
     */
    private getContentDeclaredPath;
    /**
     * Get the traits for all the attributes of a resolved entity
     */
    private getTraits;
    private getTraitCollection;
    private getArgumentValues;
    /**
     * A function to validate if the attribute context tree & traits generated for a resolved entity is the same as the expected and
     * saved attribute context tree & traits for a test case
     */
    static validateAttributeContext(expectedOutputPath: string, entityName: string, resolvedEntity: CdmEntityDefinition, updateExpectedOutput?: boolean): Promise<void>;
}
