// Generated by dts-bundle-generator v7.2.0 import { Container } from 'aurelia-dependency-injection'; import { Logger } from 'aurelia-logging'; import { Observable } from 'rxjs'; export interface StateHistory { past: T[]; present: T; future: T[]; } export interface HistoryOptions { undoable: boolean; limit?: number; } export declare function jump(state: T, n: number): T | StateHistory; export declare function nextStateHistory(presentStateHistory: StateHistory, nextPresent: T): StateHistory; export declare function applyLimits(state: T, limit: number): T; export declare function isStateHistory(history: any): history is StateHistory; export declare const DEFAULT_LOCAL_STORAGE_KEY = "aurelia-store-state"; export interface CallingAction { name: string; params?: any[]; pipedActions?: { name: string; params?: any[]; }[]; } export type Middleware = (state: T, originalState: T | undefined, settings: S, action?: CallingAction) => T | Promise | void | false; export declare enum MiddlewarePlacement { Before = "before", After = "after" } export declare function logMiddleware(state: unknown, _: unknown, settings?: { logType: "debug" | "error" | "info" | "log" | "trace" | "warn"; }): void; export declare function localStorageMiddleware(state: unknown, _: unknown, settings?: { key: string; }): void; export declare function rehydrateFromLocalStorage(state: T, key?: string): any; export declare enum LogLevel { trace = "trace", debug = "debug", info = "info", log = "log", warn = "warn", error = "error" } export declare class LoggerIndexed extends Logger { [key: string]: any; } export interface LogDefinitions { performanceLog?: LogLevel; dispatchedActions?: LogLevel; devToolsStatus?: LogLevel; } export declare function getLogType(options: Partial, definition: keyof LogDefinitions, defaultLevel: LogLevel): LogLevel; export interface Action { type: T; params?: any[]; } export interface ActionCreator { (...args: any[]): T; } export type DevToolsOptions = import("@redux-devtools/extension").EnhancerOptions | { disable: boolean; }; export type Reducer = (state: T, ...params: P) => T | false | Promise; export declare enum PerformanceMeasurement { StartEnd = "startEnd", All = "all" } export interface StoreOptions { history?: Partial; logDispatchedActions?: boolean; measurePerformance?: PerformanceMeasurement; propagateError?: boolean; logDefinitions?: LogDefinitions; devToolsOptions?: DevToolsOptions; } export interface PipedDispatch { pipe:

(reducer: Reducer | string, ...params: P) => PipedDispatch; dispatch: () => Promise; } export declare class UnregisteredActionError extends Error { constructor(reducer?: string | Reducer); } export declare class Store { private initialState; readonly state: Observable; private logger; private devToolsAvailable; private devTools; private actions; private middlewares; private _state; private options; private _markNames; private _measureNames; private dispatchQueue; constructor(initialState: T, options?: Partial); registerMiddleware(reducer: Middleware, placement: MiddlewarePlacement): void; registerMiddleware>(reducer: Middleware, placement: MiddlewarePlacement, settings: S): void; unregisterMiddleware(reducer: Middleware): void; isMiddlewareRegistered(middleware: Middleware): boolean; registerAction(name: string, reducer: Reducer): void; unregisterAction(reducer: Reducer): void; isActionRegistered(reducer: Reducer | string): boolean; resetToState(state: T): void; dispatch

(reducer: Reducer | string, ...params: P): Promise; pipe

(reducer: Reducer | string, ...params: P): PipedDispatch; private lookupAction; private queueDispatch; private handleQueue; private internalDispatch; private executeMiddlewares; private setupDevTools; private updateDevToolsState; private registerHistoryMethods; private mark; private clearMarks; private measure; private clearMeasures; } export declare function dispatchify(action: Reducer | string): (...params: P) => Promise; export type StepFn = (res: T) => void; export declare function executeSteps(store: Store, shouldLogResults: boolean, ...steps: StepFn[]): Promise; export interface ConnectToSettings { onChanged?: string; selector: ((store: Store) => Observable) | MultipleSelector; setup?: string; target?: string; teardown?: string; } export interface MultipleSelector { [key: string]: ((store: Store) => Observable); } export declare function connectTo(settings?: ((store: Store) => Observable) | ConnectToSettings): (target: any) => void; export interface FrameworkConfiguration { container: Container; } export interface StorePluginOptions extends StoreOptions { initialState: T; } export declare function configure(aurelia: FrameworkConfiguration, options: Partial>): void; export {};