import { Stream, MemoryStream } from 'xstream'; import { Scope, Reducer } from './types'; export declare function isolateSource(source: StateSource, scope: Scope): StateSource; export declare function isolateSink(innerReducer$: Stream>, scope: Scope): Stream>; /** * Represents a piece of application state dynamically changing over time. */ export declare class StateSource { state$: MemoryStream; private _state$; private _name; constructor(stream: Stream, name: string); /** * Selects a part (or scope) of the state object and returns a new StateSource * dynamically representing that selected part of the state. * * @param {string|number|lens} scope as a string, this argument represents the * property you want to select from the state object. As a number, this * represents the array index you want to select from the state array. As a * lens object (an object with get() and set()), this argument represents any * custom way of selecting something from the state object. */ select(scope: Scope): StateSource; isolateSource: typeof isolateSource; isolateSink: typeof isolateSink; }