import type { AsyncDeferrable, Deferrable } from './types/inputs/Deferrable.js'; import type { AnyAsyncIterable, AnyAwaitableIterable, AnyIterable } from './types/inputs/MinimalIterator.js'; import type { AsyncMutable, Mutable } from './types/inputs/Mutable.js'; import type { AnySubscribable } from './types/inputs/Subscribable.js'; import type { AsyncMutator, Mutator } from './types/outputs/Mutator.js'; import type { Observable } from './types/outputs/Observable.js'; import type { AsyncRef, Ref } from './types/outputs/Ref.js'; import type { SimpleAsyncIterator, SimpleIterator } from './types/outputs/SimpleIterator.js'; import type { Awaitable } from './types/utils.js'; export type JsonOrigin = AnyAwaitableIterable | AnySubscribable | Deferrable> | Mutable>; export type JsonMutable = O extends AsyncMutable ? AsyncMutator : Mutator; export type JsonDeferrable = O extends AsyncDeferrable ? AsyncRef : Ref; export type JsonResult = (O extends AnyIterable ? SimpleIterator : O extends AnyAsyncIterable ? SimpleAsyncIterator : unknown) & (O extends AnySubscribable ? Observable : unknown) & (O extends Deferrable ? JsonDeferrable : unknown) & (O extends Mutable ? JsonMutable : unknown); /** * Parses json items. * * @since 1.0.0 * @version 2.5.0 Add support for async iterators */ export declare function json$(): (origin: O) => JsonResult;