import { RootState } from './store';
import { AsyncThunkPayloadCreator } from '@reduxjs/toolkit';
export declare const useAppDispatch: import('react-redux').UseDispatch<import('redux-thunk').ThunkDispatch<{
    main: import('.').MainSlice;
    keyboard: import('./slices/keyboard').KeyboardSlice;
}, undefined, import('redux').UnknownAction> & import('redux').Dispatch<import('redux').UnknownAction>>;
export declare const useAppSelector: import('react-redux').UseSelector<{
    main: import('.').MainSlice;
    keyboard: import('./slices/keyboard').KeyboardSlice;
}>;
/**
 * A wrapper around `createAsyncThunk` that logs to the console
 * when an error is thrown. Errors thrown in thunks created with `createAsyncThunk` are
 * throw silently. (You are expected to catch the `rejected` status to deal with the error.)
 */
export declare const createLoggingAsyncThunk: <Returned, ThunkArg = void>(typePrefix: string, payloadCreator: AsyncThunkPayloadCreator<Returned, ThunkArg, {
    state: RootState;
}>) => import('@reduxjs/toolkit').AsyncThunk<Returned, ThunkArg, {
    state: RootState;
    dispatch?: import('redux-thunk').ThunkDispatch<unknown, unknown, import('redux').UnknownAction> | undefined;
    extra?: unknown;
    rejectValue?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
//# sourceMappingURL=hooks.d.ts.map