# types/diagram.types.ts

> 22 lines of code and 5 definitions.

Tree: Bane's Lab Build Scripts
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/build-scripts#file-build-scripts-types-diagram-types-ts
Source text: https://banes-lab.com/source/build-scripts/types/diagram.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/build-scripts/types.md), after [types/config.types.ts](https://banes-lab.com/source/build-scripts/types/config.types.ts.md) and before [types/filter.types.ts](https://banes-lab.com/source/build-scripts/types/filter.types.ts.md).

## Definitions

- `DiagramWalk` (interface_declaration, line 3, exported)
- `Stage` (interface_declaration, line 8, exported)
- `Hoisted` (interface_declaration, line 13, exported)
- `DiagramProgress` (interface_declaration, line 18, exported)
- `Rescoped` (interface_declaration, line 24, exported)

## Contained in

- [types](https://banes-lab.com/anatomy/build-scripts/folder-build-scripts-types.md)

## Source

```typescript
import type { JSDOM } from "jsdom";

export interface DiagramWalk {
    readonly attribute: string;
    readonly orderOf: (svg: ReturnType<typeof JSDOM.fragment>) => string;
}

export interface Stage {
    readonly close: () => void;
    readonly url: string;
}

export interface Hoisted {
    readonly stylesheet: string;
    readonly vectors: ReadonlyMap<string, string>;
}

export interface DiagramProgress {
    readonly rendered: ReadonlyMap<string, string>;
    readonly stalledAt: number | null;
    readonly reason: string;
}

export interface Rescoped {
    readonly css: string;
    readonly derived: ReadonlySet<string>;
}
```
