import type { Slots } from 'vue'; import type { SpecificVNode } from './tsutils'; export interface FlattenOptions { slots?: Slots; name?: string; key?: Symbol | Symbol[]; infinity?: boolean; } /** * * @param vNodes flatten target * @param identificationKey filter key * @param mode When mode is true, every elements in vNodes which iKey === identificationKey will be filtered * @param result * @returns */ export declare function flatten>(vNodes?: SpecificVNode[], identificationKey?: Symbol | Symbol[], mode?: boolean, result?: SpecificVNode[], isInfinity?: boolean): SpecificVNode[]; export declare function flattenWithOptions>(options: FlattenOptions, mode?: boolean, result?: SpecificVNode[]): SpecificVNode[]; export declare function flattenTree>, K extends keyof T>(tree: T[], key: K, result?: Omit[]): Omit[];