> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module: programs

> Reference for the bijection/programs entry point.

## References

### Program

Re-exports [Program](/api/modules/browser#program)

***

### ProgramRef

Re-exports [ProgramRef](/api/modules/browser#programref)

***

### ProgramInput

Re-exports [ProgramInput](/api/modules/browser#programinput)

## Functions

### createProgramClient

▸ **createProgramClient**(`call`): `Readonly`\<\{ `admission`: (`signal?`: `AbortSignal`) => `Promise`\<[`ScenarioAdmission`](/api/modules/scenarios#scenarioadmission)> ; `capture`: (`options`: \{ `source?`: [`BranchReference`](/api/modules/browser#branchreference) ; `cases?`: readonly [`ScenarioProgramCase`](/api/modules/browser#scenarioprogramcase)\[] ; `admission?`: [`ScenarioAdmission`](/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](/api/modules/browser#program)> ; `current`: (`options`: \{ `cases?`: readonly [`ScenarioProgramCase`](/api/modules/browser#scenarioprogramcase)\[] ; `admission?`: [`ScenarioAdmission`](/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](/api/modules/browser#program)> ; `get`: (`ref`: [`ProgramRef`](/api/modules/browser#programref)) => [`Program`](/api/modules/browser#program)  }>

Captured code retains its existing native owner and recovery journal.

#### Parameters

| Name | Type |
| :- | :- |
| `call` | [`ScenarioCall`](/api/modules/scenarios#scenariocall) |

#### Returns

`Readonly`\<\{ `admission`: (`signal?`: `AbortSignal`) => `Promise`\<[`ScenarioAdmission`](/api/modules/scenarios#scenarioadmission)> ; `capture`: (`options`: \{ `source?`: [`BranchReference`](/api/modules/browser#branchreference) ; `cases?`: readonly [`ScenarioProgramCase`](/api/modules/browser#scenarioprogramcase)\[] ; `admission?`: [`ScenarioAdmission`](/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](/api/modules/browser#program)> ; `current`: (`options`: \{ `cases?`: readonly [`ScenarioProgramCase`](/api/modules/browser#scenarioprogramcase)\[] ; `admission?`: [`ScenarioAdmission`](/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](/api/modules/browser#program)> ; `get`: (`ref`: [`ProgramRef`](/api/modules/browser#programref)) => [`Program`](/api/modules/browser#program)  }>

***

### defineProgramReference

▸ **defineProgramReference**(`programId`, `program`, `bindings`): [`ProgramRef`](/api/modules/browser#programref)

#### Parameters

| Name | Type |
| :- | :- |
| `programId` | `string` |
| `program` | [`ProgramReference`](/api/modules/browser#programreference) |
| `bindings` | `Readonly`\<`Record`\<`string`, `string`>> |

#### Returns

[`ProgramRef`](/api/modules/browser#programref)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.