I followed [this](https://codeburst.io/vuex-and-typescript-3427ba78cfa8) tutorial to set up a Vuex store with modules using TypeScript.

So far I have:

**vuex/types.ts**:

```
export interface RootState {
    version: string;
}

```

**vuex/user-profile.ts**:

```
import { ActionTree, Module, MutationTree } from 'vuex';
import { RootState } from './types';

interface User {
    firstName: string;
    uid: string;
}

interface ProfileState {
    user?: User;
    authed: boolean;
}

const state: ProfileState = {
    user: undefined,
    authed: false,
};

const namespaced: boolean = true;

export const UserProfile: Module<ProfileState, RootState> = {
    namespaced,
    state,
};

```

**store.ts**:

```
import Vue from 'vue';
import Vuex, { StoreOptions } from 'vuex';
import { UserProfile } from '@/vuex/user-profile';
import { RootState } from '@/vuex/types';

Vue.use(Vuex);

const store: StoreOptions<RootState> = {
  state: {
      version: '1.0.0',
  },
  modules: {
      UserProfile,
  },
};

export default new Vuex.Store<RootState>(store);

```

In my **router.ts** I want to access the `authed` state of the store like this:

```
import store from './store';
//...other imports...

const router = new Router({
//... route definitions...
});

router.beforeEach((to, from, next) => {
  const isAuthed = store.state.UserProfile.authed;
  if (to.name !== 'login' && !isAuthed) {
    next({ name: 'login' });
  } else {
    next();
  }
});

```

The code works (the app redirects properly), HOWEVER, the compiler throws errors saying `Property 'UserProfile' does not exist on type 'RootState'`, which makes sense since it's not defined, but should it not look under the modules as well, or did I not define the module correctly?