import type { Deferrable } from '../types/inputs/Deferrable.js'; import type { MinimalAsyncIterator, MinimalIterator } from '../types/inputs/MinimalIterator.js'; import type { Mutable } from '../types/inputs/Mutable.js'; import type { Observer, PartialObserver } from '../types/inputs/Observer.js'; import type { Subscribable, SubscribableHolder } from '../types/inputs/Subscribable.js'; import type { Mapping } from '../types/mapping.js'; import type { StrictEmitter } from '../types/outputs/StrictEmitter.js'; import type { StrictListenable } from '../types/outputs/StrictListenable.js'; /** * Tests if given value is an Emitter object */ export declare function isEmitter(value: unknown): value is StrictEmitter; /** * Tests if given value is a Listenable object */ export declare function isListenable(value: unknown): value is StrictListenable; /** * Tests if given value is a Mutable object */ export declare function isMutable(value: unknown): value is Mutable; /** * Tests if given value is a partial Observer object */ export declare function isPartialObserver(value: unknown): value is PartialObserver; /** * Tests if given value is a minimal Observer object (with at least a next method) */ export declare function isMinimalObserver(value: unknown): value is Pick, 'next'>; /** * Tests if given value is a fully defined Observer object */ export declare function isObserver(value: unknown): value is Observer; /** * Tests if given value is a PromiseLike object */ export declare function isPromise(value: unknown): value is PromiseLike; /** * Tests if given value is a Deferrable object */ export declare function isDeferrable(value: unknown): value is Deferrable; /** * Tests if given value is a Subscribable object */ export declare function isSubscribable(value: unknown): value is Subscribable; /** * Tests if given value is an ObservableHolder object */ export declare function isSubscribableHolder(value: unknown): value is SubscribableHolder; /** * Tests if given value is an Iterator object * * @deprecated use {@link isAwaitableIterator} instead, it has a more precise typing */ export declare function isMinimalIterator(value: unknown): value is MinimalIterator; /** * Tests if given value is an AwaitableIterator object */ export declare function isAwaitableIterator(value: unknown): value is MinimalIterator | MinimalAsyncIterator; /** * Tests if given value is an AsyncIterable object */ export declare function isAsyncIterable(value: unknown): value is AsyncIterable; /** * Tests if given value is an Iterable object */ export declare function isIterable(value: unknown): value is Iterable;