import { Actions, ReimOptions, Action, Handler, Filter, SnapshotFor, Mutation } from './types'; export declare function isReim(store: any): store is Reim; export declare class Reim { _index?: number; _name?: string; _initial: T; _state: T; _subscribers: Array<{ handler: Handler; filter: Filter; cache: any; }>; _devTools: any; readonly __isReim: symbol; readonly name: string; constructor(initial?: T, options?: ReimOptions); filter>(filter?: TF): TF extends (null | undefined) ? T : SnapshotFor; set, TA extends Action | Mutation>(this: TR & { _state: T; }, action: TA, ...args: TA extends Action ? Parameters : []): void; _notify: Mutation) | ((state: T | import("immer").Draft) => void | T) | Partial, TP extends any[]>(meta: { action: TA; payload: TP; }) => void; reset>(this: TR & { _state: T; }, initial?: T): any; actions, T, TA extends Actions>(this: TR & { _state: T; }, actions?: TA): { [Tk in keyof typeof actions]: TA[Tk]; }; plugin, TP extends ((a?: TR, b?: TR) => any)>(this: TR, plugin: TP): ReturnType extends (null | undefined | void) ? TR : ReturnType; unsubscribe, T>(this: TR & { _state: T; }, handler: Handler): void; subscribe, T>(this: TR & { _state: T; }, handler: Handler, { immediate, filter }?: { immediate?: boolean; filter?: Filter; }): { unsubscribe: () => void; }; } declare const reim: ((initial: T, options?: ReimOptions & { actions?: TA; }) => Reim & { [Tk in keyof TA]: TA[Tk]; }) & { snapshot(): { [name: number]: any; }; stringify(): string; preload(state?: any): void; }; export { default as effect } from './effect'; export * from './types'; export default reim; //# sourceMappingURL=index.d.ts.map