Represents a stateful abstraction for a Remote Config server template.

**Signature:**

    export interface ServerTemplate 

## Methods

| Method | Description |
|---|---|
| [evaluate(context)](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplate#servertemplateevaluate) | Evaluates the current template to produce a [ServerConfig](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.serverconfig#serverconfig_interface). |
| [load()](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplate#servertemplateload) | Fetches and caches the current active version of the project's [ServerTemplate](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplate#servertemplate_interface). |
| [set(template)](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplate#servertemplateset) | Sets and caches a [ServerTemplateData](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplatedata#servertemplatedata_interface) or a JSON string representing the server template |
| [toJSON()](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplate#servertemplatetojson) | Returns a JSON representation of [ServerTemplateData](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplatedata#servertemplatedata_interface) |

## ServerTemplate.evaluate()

Evaluates the current template to produce a [ServerConfig](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.serverconfig#serverconfig_interface).

**Signature:**

    evaluate(context?: EvaluationContext): ServerConfig;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| context | [EvaluationContext](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config#evaluationcontext) |   |

**Returns:**

[ServerConfig](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.serverconfig#serverconfig_interface)

## ServerTemplate.load()

Fetches and caches the current active version of the project's [ServerTemplate](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplate#servertemplate_interface).

**Signature:**

    load(): Promise<void>;

**Returns:**

Promise\<void\>

## ServerTemplate.set()

Sets and caches a [ServerTemplateData](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplatedata#servertemplatedata_interface) or a JSON string representing the server template

**Signature:**

    set(template: ServerTemplateDataType): void;

### Parameters

| Parameter | Type | Description |
|---|---|---|
| template | [ServerTemplateDataType](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config#servertemplatedatatype) |   |

**Returns:**

void

## ServerTemplate.toJSON()

Returns a JSON representation of [ServerTemplateData](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplatedata#servertemplatedata_interface)

**Signature:**

    toJSON(): ServerTemplateData;

**Returns:**

[ServerTemplateData](https://firebase.google.com/docs/reference/admin/node/firebase-admin.remote-config.servertemplatedata#servertemplatedata_interface)