import { AsyncWrappable, AsyncLoopable, AsyncIterableIterator } from '../../types/async-iterable'; type AsyncFlattened = T extends Array ? U : T extends ReadonlyArray ? U : T extends AsyncLoopable ? U : T; declare function asyncFlat(depth: 0, source: U): AsyncIterableIterator>; declare function asyncFlat(depth: 1, source: U): AsyncIterableIterator>>; declare function asyncFlat(depth: 2, source: U): AsyncIterableIterator>>>; declare function asyncFlat(depth: 3, source: U): AsyncIterableIterator>>>>; declare function asyncFlat(depth: 4, source: U): AsyncIterableIterator>>>>>; declare function asyncFlat(depth: 5, source: U): AsyncIterableIterator>>>>>>; declare function asyncFlat(depth: 6, source: U): AsyncIterableIterator>>>>>>>; declare function asyncFlat(depth: 7, source: U): AsyncIterableIterator>>>>>>>>; declare function asyncFlat(depth: 0): (source: U) => AsyncIterableIterator>; declare function asyncFlat(depth: 1): (source: U) => AsyncIterableIterator>>; declare function asyncFlat(depth: 2): (source: U) => AsyncIterableIterator>>>; declare function asyncFlat(depth: 3): (source: U) => AsyncIterableIterator>>>>; declare function asyncFlat(depth: 4): (source: U) => AsyncIterableIterator>>>>>; declare function asyncFlat(depth: 5): (source: U) => AsyncIterableIterator>>>>>>; declare function asyncFlat(depth: 6): (source: U) => AsyncIterableIterator>>>>>>>; declare function asyncFlat(depth: 7): (source: U) => AsyncIterableIterator>>>>>>>>; declare function asyncFlat(shouldFlat: (value: any) => boolean | Promise, depth: number, iter: AsyncWrappable): AsyncIterableIterator; declare function asyncFlat(options: { shouldFlat: (value: any) => boolean | Promise; depth?: number; }, iter: AsyncWrappable): AsyncIterableIterator; declare function asyncFlat(source: AsyncWrappable): AsyncIterableIterator; declare function asyncFlat(depth: number, source: AsyncWrappable): AsyncIterableIterator; declare function asyncFlat(depth?: number): (source: AsyncWrappable) => AsyncIterableIterator; export { asyncFlat };