# Core

`interface` in `http` · v0.3.1

<https://docs.seedcord.org/packages/http/0.3.1/interfaces/core>

Main interface for Seedcord core functionality on the HTTP transport.

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

```ts
interface Core extends CoreBase
```

## Examples

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

## Properties

### bus

```ts
readonly bus: Bus
```

Publish and subscribe to framework and application events.

### config

```ts
readonly config: HttpConfig
```

### rateLimiter

```ts
readonly rateLimiter: IRateLimiter
```

Sliding-window rate limiting, the `Cooldown` gate's backend and a public direct-use API.

### rest

```ts
readonly rest: REST
```

Discord REST client. On gateway this is the discord.js client's own, and it carries no token until the Login phase. On http the token is set by `start()`.
