import type { PipeStep } from './pipe$.js'; import type { PartialObserver } from './types/inputs/Observer.js'; import type { Subscribable } from './types/inputs/Subscribable.js'; /** * Given observer subscribes to result given observable. * * @since 1.0.0 */ export declare function flow$(observable: A, observer: FlowObserver): ReturnType; /** * Run step on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, stepE: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, stepE: PipeStep, stepF: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, stepE: PipeStep, stepF: PipeStep, stepG: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, stepE: PipeStep, stepF: PipeStep, stepG: PipeStep, stepH: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, stepE: PipeStep, stepF: PipeStep, stepG: PipeStep, stepH: PipeStep, stepI: PipeStep, observer: FlowObserver): ReturnType; /** * Runs all steps one after another on input observable allowing to change its shape or emitted data. * Then given observer will subscribe to result observable. * * @since 1.0.0 */ export declare function flow$(observable: A, stepA: PipeStep, stepB: PipeStep, stepC: PipeStep, stepD: PipeStep, stepE: PipeStep, stepF: PipeStep, stepG: PipeStep, stepH: PipeStep, stepI: PipeStep, stepJ: PipeStep, observer: FlowObserver): ReturnType; /** * Extract Value type from {@link Subscribable} type * * @since 2.0.0 */ export type FlowObserver = T extends Subscribable ? PartialObserver : never;