# Core

`interface` in `gateway` · v0.1.4

<https://docs.seedcord.org/packages/gateway/0.1.4/interfaces/core>

Main interface for Seedcord core functionality

This interface can be augmented via declaration merging to add type-safe plugin definitions when using `this.core#` in handlers.

Only add classes that extend [`Plugin`](/packages/gateway/0.1.4/classes/plugin) to this

```ts
interface Core extends CoreBase
```

## Examples

```ts
declare module '@seedcord/gateway' {
  interface Core {
    db: Mongoose;
  }
}
```

## Properties

### bot

```ts
readonly bot: Bot
```

### config

```ts
readonly config: GatewayConfig
```

### shutdown

```ts
readonly shutdown: Pick<CoordinatedShutdown, 'addTask'>
```

### startup

```ts
readonly startup: Pick<CoordinatedStartup, 'addTask'>
```
