# {{{name}}}
{{!-- {{#if title}}> {{title}}{{/if}}
{{#if natspec.userdoc}}> {{natspec.userdoc}}{{/if}} --}}
{{#if natspec.devdoc}}> {{natspec.devdoc}}{{/if}}
{{#if ownVariables}}
## Globals
| Var | Type |
| --- | --- |
{{#ownVariables}}
{{#unless (eq visibility "internal")}}
| {{name}} | {{ type }} |
{{/unless}}
{{/ownVariables}}
{{/if}}
{{#if ownFunctions}}
## Functions
{{#ownFunctions}}
{{#if (eq visibility "external")}}
### {{name}}
{{!-- {{#if natspec.userdoc}}{{natspec.userdoc}}{{/if}} --}}
{{#if natspec.devdoc}}> {{natspec.devdoc}}{{/if}}
#### Declaration
```
function {{name}}({{#natspec.params}}{{#lookup ../args.types @index}}{{/lookup}} {{param}}{{#if @last}}{{else}},{{/if}}{{/natspec.params}}) {{visibility}}{{#astNode.modifiers}} {{modifierName.name}}{{/astNode.modifiers}}{{#if outputs}} returns ({{outputs}}){{/if}}
```
{{#if natspec.params}}
#### Args:
| Arg | Type | Description |
| --- | --- | --- |
{{#natspec.params}}
|`{{param}}` | {{#lookup ../args.types @index}}{{/lookup}} | {{description}}
{{~/natspec.params}}
{{/if}}
{{#if natspec.returns}}
#### Returns:
| Type | Description |
| --- | --- |
{{#natspec.returns}}
|`{{param}}` | {{description}} 
{{~/natspec.returns}}
{{/if}}
{{/if}}
{{/ownFunctions}}
{{/if}}
{{#if ownEvents}}
## Events
{{#ownEvents}}
### {{name}}
{{#if natspec.userdoc}}{{natspec.userdoc}}{{/if}}
{{#if natspec.devdoc}}> {{natspec.devdoc}}{{/if}}
{{#if natspec.params}}
#### Params:
| Param | Type | Indexed | Description |
| --- | --- | :---: | --- |
{{#natspec.params}}
|`{{param}}` | {{lookup ../args.types @index}} | {{#with (lookup ../astNode.parameters.parameters @index)}}{{#if indexed}}:white_check_mark:{{/if}}{{/with}} | {{description}} {{~-~}}
{{/natspec.params}}
{{/if}}
{{/ownEvents}}
{{/if}}