/**
 * The base implementation of `flatten` with support for restricting flattening.
 *
 * @private
 * @ignore
 * @param {Array} array The array to flatten.
 * @param {number} depth The maximum recursion depth.
 * @param {(value:any)=>boolean} [predicate=isFlattenable] The function invoked per iteration.
 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
 * @param {Array} [result=[]] The initial result value.
 * @returns {Array} Returns the new flattened array.
 */
declare function baseFlatten(array: any, depth?: any, predicate?: any, isStrict?: any, result?: any): any;
export default baseFlatten;
