export declare const objectHelpers: {
    /**
     * Stringify a value to JSON and escape quotes for safe HTML attribute usage.
     *
     * ```handlebars
     * {{json object}}
     * <!-- results in:  '{&quot;foo&quot;:&quot;bar&quot;}' -->
     * ```
     * @param {Object|Array|String|Number|Boolean|null} `context`
     * @return {String}
     * @api public
     */
    json: (context: any) => string;
    /**
     * Stringify a value to JSON and return a `Handlebars.SafeString`
  
     *
     * @param {Object|Array|String|Number|Boolean|null} `context`
     * @return {Handlebars.SafeString}
     * @api public
     */
    jsonScript: (context: any) => "" | Handlebars.SafeString;
    /**
     * Stringify a value to JSON and URL-encode it.
     *
     * Useful when passing structured data through query strings or
     * attributes where reserved URI characters must be escaped.
     *
     * @param {Object|Array|String|Number|Boolean|null} `context`
     * @return {String}
     * @api public
     */
    jsonEncode: (context: any) => string;
    /**
     * Extend the context with the properties of other objects.
     * A shallow merge is performed to avoid mutating the context.
     *
     * @param {Object} `objects` One or more objects to extend.
     * @return {Object}
     * @api public
     */
    extend: () => {};
    /**
     * Block helper that iterates over the properties of
     * an object, exposing each key and value on the context.
     *
     * @param {Object} `context`
     * @param {Object} `options`
     * @return {String}
     * @block
     * @api public
     */
    /**
     * Block helper that iterates over the **own** properties of
     * an object, exposing each key and value on the context.
     *
     * @param {Object} `obj` The object to iterate over.
     * @param {Object} `options`
     * @return {String}
     * @block
     * @api public
     */
    /**
     * Take arguments and, if they are string or number, convert them to a dot-delineated object property path.
     *
     * @param {String|Number} `prop` The property segments to assemble (can be multiple).
     * @return {String}
     * @api public
     */
    toPath: () => string;
    /**
     * Use property paths (`a.b.c`) to get a value or nested value from
     * the context. Works as a regular helper or block helper.
     *
     * @param {String} `prop` The property to get, optionally using dot notation for nested properties.
     * @param {Object} `context` The context object
     * @param {Object} `options` The handlebars options object, if used as a block helper.
     * @return {String}
     * @block
     * @api public
     */
    get: (prop: any, context: any, options: any) => any;
    /**
     * Use property paths (`a.b.c`) to get an object from
     * the context. Differs from the `get` helper in that this
     * helper will return the actual object, including the
     * given property key. Also, this helper does not work as a
     * block helper.
     *
     * @param {String} `prop` The property to get, optionally using dot notation for nested properties.
     * @param {Object} `context` The context object
     * @return {String}
     * @api public
     */
    getObject: (prop: any, context: any) => any;
    /**
     * Return true if `key` is an own, enumerable property
     * of the given `context` object.
     *
     * ```handlebars
     * {{hasOwn context key}}
     * ```
     *
     * @param {String} `key`
     * @param {Object} `context` The context object.
     * @return {Boolean}
     * @api public
     */
    hasOwn: (context: any, key: any) => any;
    /**
     * Return true if `value` is an object.
     *
     * ```handlebars
     * {{isObject "foo"}}
     * //=> false
     * ```
     * @param {String} `value`
     * @return {Boolean}
     * @api public
     */
    /**
     * Parses the given string using `JSON.parse`.
     *
     * ```handlebars
     * <!-- string: '{"foo": "bar"}' -->
     * {{JSONparse string}}
     * <!-- results in: { foo: 'bar' } -->
     * ```
     * @param {String} `string` The string to parse
     * @contributor github.com/keeganstreet
     * @block
     * @api public
     */
    JSONparse: (str: any, _options: any) => any;
    /**
     * Stringify an object using `JSON.stringify`.
     *
     * ```handlebars
     * <!-- object: { foo: 'bar' } -->
     * {{JSONstringify object}}
     * <!-- results in: '{"foo": "bar"}' -->
     * ```
     * @param {Object} `obj` Object to stringify
     * @return {String}
     * @api public
     */
    JSONstringify: (obj: any, indent: any) => string;
    /**
     * Deeply merge the properties of the given `objects` with the
     * context object.
     *
     * @param {Object} `object` The target object. Pass an empty object to shallow clone.
     * @param {Object} `objects`
     * @return {Object}
     * @api public
     */
    merge: () => any;
    /**
     * Alias for parseJSON. this will be
     * deprecated in a future release
     */
    /**
     * Pick properties from the context object.
     *
     * @param {Array|String} `properties` One or more properties to pick.
     * @param {Object} `context`
     * @param {Object} `options` Handlebars options object.
     * @return {Object} Returns an object with the picked values. If used as a block helper, the values are passed as context to the inner block. If no values are found, the context is passed to the inverse block.
     * @block
     * @api public
     */
    /**
     * Alias for JSONstringify. this will be
     * deprecated in a future release
     */
    stringify: (obj: any, indent: any) => string;
};
