import { WatchSource } from 'vue'; export type PromiseType
> = P extends Promise = S | ((prevState: S) => S);
// this technically does accept a second argument, but it's already under a deprecation warning
// and it's not even released so probably better to not define it.
export declare type Dispatch = (value: A) => void;
// Since action _can_ be undefined, dispatch may be called without any parameters.
export declare type DispatchWithoutAction = () => void;
// Unlike redux, the actions _can_ be anything
export declare type Reducer = (prevState: S, action: A) => S;
// If useReducer accepts a reducer without action, dispatch may be called without any parameters.
export declare type ReducerWithoutAction = (prevState: S) => S;
// types used to try and prevent the compiler from reducing S
// to a supertype common with the second argument to useReducer()
export declare type ReducerState