# types/syntax.types.ts

> 18 lines of code and 5 definitions.

Tree: Governance tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/governance#file-governance-types-syntax-types-ts
Source text: https://banes-lab.com/source/governance/types/syntax.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/governance/types.md), after [types/sink.types.ts](https://banes-lab.com/source/governance/types/sink.types.ts.md) and before [types/taxonomy.types.ts](https://banes-lab.com/source/governance/types/taxonomy.types.ts.md).

## Definitions

- `SourcePosition` (interface_declaration, line 1, exported)
- `SourceLoc` (interface_declaration, line 6, exported)
- `AstNode` (interface_declaration, line 11, exported)
- `CopyOf` (type_alias_declaration, line 17, exported)
- `ExportedName` (interface_declaration, line 19, exported)

## Source

```typescript
export interface SourcePosition {
    line: number;
    column: number;
}

export interface SourceLoc {
    start: SourcePosition;
    end: SourcePosition;
}

export interface AstNode {
    [key: string]: unknown;
    type: string;
    loc: SourceLoc;
}

export type CopyOf = (node: AstNode | null) => AstNode | null;

export interface ExportedName {
    name: string;
    target: AstNode;
}
```
