import { Observable } from 'rxjs'; /** Specifies a fake select call */ export type FakeSelectCall = ($source: Observable) => Observable; /** * Type representing a state selector function */ export type SelectorFunction = (state: S, props?: object) => R; /** * Base selector spy */ export interface BaseSelectorSpy { /** The selector to be spied on */ selector: SelectorFunction; } /** * Represents a spy for a given Memoized selector * that returns a fake value */ export interface SelectorSpyResult extends BaseSelectorSpy { /** The fake result to be returned */ fakeResult: R; } /** * Represents a spy for a given Memoized selector * that returns a fake call */ export interface SelectorSpyCall extends BaseSelectorSpy { /** The fake result call to be used */ fakeResult: FakeSelectCall; } /** * Represents a spy for a given Memoized selector */ export type SelectorSpy = SelectorSpyResult | SelectorSpyCall; /** * Identifies if spy is a spyResult or spyCall * @param spy */ export declare function isSelectorSpyCall(spy: SelectorSpy): spy is SelectorSpyCall; //# sourceMappingURL=typings.d.ts.map