import { ArgumentValue, CdmCorpusContext, CdmParameterDefinition, resolveOptions, spewCatcher } from '../internal';
/**
 * @internal
 */
export declare class ParameterValue {
    get name(): string;
    parameter: CdmParameterDefinition;
    value: ArgumentValue;
    ctx: CdmCorpusContext;
    constructor(ctx: CdmCorpusContext, param: CdmParameterDefinition, value: ArgumentValue);
    static fetchReplacementValue(resOpt: resolveOptions, oldValue: ArgumentValue, newValue: ArgumentValue, wasSet: boolean): ArgumentValue;
    fetchValueString(resOpt: resolveOptions): string;
    setValue(resOpt: resolveOptions, newValue: ArgumentValue): void;
    spew(resOpt: resolveOptions, to: spewCatcher, indent: string): void;
    /**
     * Generates a set of all the fields of the passed parameter. And all its children's fields.
     * @param data The object to retrieve the fields from.
     */
    private getFieldsNames;
    /**
     * Serializes parameter 'data' writing fields in alphabetical order.
     * @param data Object to be serialized
     * @returns String representing the serialized parameter
     */
    private serializeFieldsInAlphabeticalOrder;
}
