import { Draft } from 'immer'; export interface ReimOptions { name?: string; actions?: Actions; } export declare type Mutation = ((state: Draft | TS) => void | TS) | Partial | TS; export declare type Action = ((...args: any[]) => Mutation); export declare type Actions = { [index: string]: Action; }; export declare type Cache = TF extends ((s: TS) => any) ? ReturnType : TF extends { [index: string]: (s: TS) => TS; } ? { [Tk in keyof TF]: ReturnType; } : any; export declare type Filter = ((s: TS) => any) | { [index: string]: ((s: TS) => any); } | keyof TS; export declare type SnapshotFor = TF extends ((s: any) => any) ? ReturnType : TF extends { [index: string]: ((s: T) => any); } ? { [Tk in keyof TF]: ReturnType; } : TF extends keyof T ? T[TF] : T; export declare type Meta = { mutation?: string; payload?: any[]; }; export declare type Handler = { next: (s: T, meta?: Meta) => any; } | ((s: T, meta?: Meta) => any); //# sourceMappingURL=types.d.ts.map