import { Action } from "./redux"; export interface SideEffect { type?: string; } export interface ReducerMaybeWithSideEffects { (state: S, action: A): MaybeHasSideEffect; } export declare type HasSideEffect = [S, SideEffect]; export declare type MaybeHasSideEffect = HasSideEffect | S; export declare function hasSideEffect(obj: any): obj is HasSideEffect; export declare function stripSideEffect(result: S | HasSideEffect, sideEffects: SideEffect[]): S;