import { UniFlattenOptions } from './type'; /** * Flatten an object to single depth. * The flattened key is represented with standard * javascript object notation. * * @example * * flatten({ a: { b: 1 } }) // { "a.b": 1 } * flatten({ a: { b: [1] } }) // { "a.b[0]": 1 } * flatten({ a: { '?': [1] } }) // { 'a["?"][0]': 1 } */ export declare const flatten: (obj: object, options?: UniFlattenOptions) => Record; /** * The reverse action of `flatten`. Transform a flattened object to original un-flattened object. * * @example * * unflatten({ "a.b": 1 }) // { a: { b: 1 } } * unflatten({ "a.b[0]": 1 }) // { a: { b: [1] } } * unflatten({ 'a["?"][0]': 1 }) // { a: { '?': [1] } } */ export declare const unflatten: (obj: object, options?: UniFlattenOptions) => T;