{{#if this}} {{#if reflection}} {{#compact}} {{reflection.name}} {{#if typeArguments}} < {{#each typeArguments}} {{#if @index}} , {{/if}}{{> type}} {{/each}} > {{/if}} {{/compact}} {{else}} {{#if elementType}} {{#with elementType}} {{#compact}} {{#if types}} ( {{/if}} {{> type}} {{#if types}} ) {{/if}}[] {{/compact}} {{/with}} {{else}} {{#if types}} {{#each types}} {{#if @index}} {{#ifCond ../type '==' 'intersection'}}&{{else}}|{{/ifCond}} {{/if}}{{> type}} {{/each}} {{else}} {{#if elements}} {{#compact}} [ {{#each elements}} {{#if @index}} , {{/if}}{{> type}} {{/each}} ] {{/compact}} {{else}} {{#compact}} {{#if name}} {{name}} {{else}} {{#if value}} "{{value}}" {{else}} {{this}} {{/if}} {{/if}} {{#if typeArguments}} < {{#each typeArguments}} {{#if @index}} , {{/if}}{{> type}} {{/each}} > {{/if}} {{/compact}} {{/if}} {{/if}} {{/if}} {{/if}} {{else}} void {{/if}}