import { Reducer } from 'react';
export default function useThunkReducer<State, Action extends {
    [P in keyof Action]: Action[P];
}>(reducer: Reducer<State, Action>, initialArg: State, init?: (s: State) => State): [State, ThunkDispatch<State, Action>];
export interface ThunkDispatch<State, Action> {
    <TReturnType>(ThunkAction: ThunkAction<TReturnType, State, Action>): TReturnType;
    (action: Action): void;
}
export declare type ThunkAction<TReturnType, State, Action> = (dispatch: ThunkDispatch<State, Action>, getState: () => State) => TReturnType;
