# types/search.types.ts

> 31 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-search-types-ts
Source text: https://banes-lab.com/source/build-scripts/types/search.types.ts.txt

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

## Definitions

- `SearchSection` (interface_declaration, line 3, exported)
- `SearchEntry` (interface_declaration, line 9, exported)
- `SearchKind` (interface_declaration, line 15, exported)
- `SearchRules` (interface_declaration, line 20, exported)
- `Phrase` (interface_declaration, line 33, exported)

## Contained in

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

## Source

```typescript
import type { Identity } from "#types/catalog.types";

export interface SearchSection {
    readonly href: string;
    readonly position: number;
    readonly words: readonly string[];
}

export interface SearchEntry {
    readonly identity: Identity;
    readonly position: number | null;
    readonly words: readonly string[];
}

export interface SearchKind {
    readonly entries: readonly SearchEntry[];
    readonly kind: string;
}

export interface SearchRules {
    readonly americanWords: Readonly<Record<string, string>>;
    readonly fuzzyMinimum: number;
    readonly izeStems: readonly string[];
    readonly izeSuffixes: Readonly<Record<string, string>>;
    readonly pluralIes: readonly [string, string];
    readonly pluralKeptAfter: readonly string[];
    readonly pluralMinimum: number;
    readonly pluralSuffix: string;
    readonly spellingPrefixes: readonly string[];
    readonly wordCharacters: string;
}

export interface Phrase {
    readonly phrase: string;
    readonly ref: string;
}
```
