import { Subject, Subscription } from 'rxjs'; import { EffectAction, OriginalEffectActions, OriginalReducerActions, OriginalImmerReducerActions, OriginalDefineActions, TriggerActions, EffectActionFactories } from './types'; import { Ayanami } from './ayanami'; interface Config { nameForLog: string; defaultState: State; effects: OriginalEffectActions; reducers: OriginalReducerActions; immerReducers: OriginalImmerReducerActions; defineActions: OriginalDefineActions; effectActionFactories: EffectActionFactories; } export declare function combineWithIkari(ayanami: Ayanami): Ikari; export declare function destroyIkariFrom(ayanami: Ayanami): void; export declare class Ikari { readonly ayanami: Ayanami; private readonly config; static createAndBindAt(target: Ayanami, config: Config): Ikari; static getFrom(target: { defaultState: S; }): Ikari | undefined; state: import("./utils").State; effectActionFactories: EffectActionFactories; triggerActions: TriggerActions; subscription: Subscription; terminate$: Subject; constructor(ayanami: Ayanami, config: Readonly>); destroy(): void; private log; private handleAction; } export {};