declare module 'reduxsauce' { import { Action, UnknownAction, Reducer, ActionCreator } from 'redux'; export interface Actions { [action: string]: (string[] | ActionTypes | ActionCreator) | null; } export interface ActionTypes { [action: string]: string | number | DefaultActionTypes | null; } export interface DefaultActionTypes { [action: string]: string; } export interface DefaultActionCreators { [action: string]: (...args: any[]) => UnknownAction; } export interface Handlers { [type: string]: (state: S, action: any) => S; } /** * Custom options for created types and actions * * prefix - prepend the string to all created types */ interface Options { prefix: string; } export interface CreatedActions { Types: T; Creators: C; } export function createActions( actions: Actions, options?: Options ): CreatedActions; export function createReducer( initialState: S, handlers: Handlers ): Reducer; export function createTypes(types: string, options?: Options): T; export function resettableReducer( typeToReset: string ): (originalReducer: Reducer) => Reducer; export function resettableReducer( typeToReset: string, originalReducer: Reducer ): Reducer; }