# models


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## SelectionStepState

TypedDict for Phase 1 workflow state. Provides type safety for the state
structure used by the selection step.

------------------------------------------------------------------------

<a
href="https://github.com/cj-mills/cjm-transcript-source-select/blob/main/cjm_transcript_source_select/models.py#L18"
target="_blank" style="float:right; font-size:smaller">source</a>

### SelectionStepState

``` python

def SelectionStepState(
    args:VAR_POSITIONAL, kwargs:VAR_KEYWORD
):

```

*State for Phase 1: Source Selection & Ordering.*

## SelectionUrls

URL bundle for Phase 1 selection handlers and renderers. All fields
default to empty strings for safe construction before routes are
registered.

------------------------------------------------------------------------

<a
href="https://github.com/cj-mills/cjm-transcript-source-select/blob/main/cjm_transcript_source_select/models.py#L29"
target="_blank" style="float:right; font-size:smaller">source</a>

### SelectionUrls

``` python

def SelectionUrls(
    add:str='', remove:str='', toggle:str='', reorder:str='', clear:str='', select_all:str='', preview:str='',
    toggle_focused:str='', keyboard_reorder:str='', filter:str='', grouping_change:str='', browse_directory:str='',
    add_external:str='', remove_external:str='', tab_switch:str=''
)->None:

```

*URL bundle for Phase 1 selection route handlers and renderers.*

------------------------------------------------------------------------

<a
href="https://github.com/cj-mills/cjm-transcript-source-select/blob/main/cjm_transcript_source_select/models.py#L76"
target="_blank" style="float:right; font-size:smaller">source</a>

### SelectionResult

``` python

def SelectionResult(
    routers:List, urls:SelectionUrls=<factory>, routes:Dict=<factory>, render_local_files_panel:Optional=None,
    sb_state:Any=None, restore_state:Callable=_no_op_restore, reset_state:Callable=_no_op_reset
)->None:

```

*Return type from init_selection_routers.*

------------------------------------------------------------------------

<a
href="https://github.com/cj-mills/cjm-transcript-source-select/blob/main/cjm_transcript_source_select/models.py#L67"
target="_blank" style="float:right; font-size:smaller">source</a>

### LocalFilesResult

``` python

def LocalFilesResult(
    routers:List, routes:Dict, render_panel:Callable, restore_state:Callable=_no_op_restore,
    reset_state:Callable=_no_op_reset
)->None:

```

*Return type from init_local_files_router.*

## Router Result Types

Dataclass return types for router initialization functions. Using
dataclasses instead of tuples makes future additions non-breaking — new
fields with defaults don’t affect existing callers.
