> ## 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.

# Class: QuestionProgram<Outputs>

> A bounded set of outputs admitted, executed and sealed together.

[server](/api/modules/server).QuestionProgram

A bounded set of outputs admitted, executed and sealed together.

## Type parameters

| Name | Type |
| :- | :- |
| `Outputs` | extends [`ProgramRelations`](/api/modules/browser#programrelations) = [`ProgramRelations`](/api/modules/browser#programrelations) |

## Constructors

### constructor

• **new QuestionProgram**\<`Outputs`>(`outputs`)

#### Type parameters

| Name | Type |
| :- | :- |
| `Outputs` | extends [`ProgramRelations`](/api/modules/browser#programrelations) = [`ProgramRelations`](/api/modules/browser#programrelations) |

#### Parameters

| Name | Type |
| :- | :- |
| `outputs` | `Outputs` |

## Properties

### readRequirements

• `Readonly` **readRequirements**: `Readonly`\<\{ `serving?`: `Readonly`\<`Record`\<`string`, [`ServingRequirement`](/api/modules/server#servingrequirement)>> ; `sources?`: `Readonly`\<`Record`\<`string`, [`SourceReadRequirement`](/api/modules/server#sourcereadrequirement)>> ; `requirements`: readonly `Readonly`\<\{ `clock`: `Readonly`\<\{ `table`: `string` ; `kind`: [`FreshnessClockKind`](/api/modules/server#freshnessclockkind)  }> ; `max_age`: \`$\{number}m\` \| \`$\{number}d\` | \`$\{number}h\` \| \`$\{number}ms\` | \`$\{number}s\`  \}\>[] ; `all_inputs?`: readonly `Readonly`\<\{ `default`: `Readonly`\<\{ `clock`: [`FreshnessClockKind`](/api/modules/server#freshnessclockkind) ; `max_age`: \`$\{number}m\` | \`$\{number}d\` \| \`$\{number}h\` | \`$\{number}ms\` \| \`$\{number}s\`  }> ; `overrides`: readonly Readonly\<\{ clock: Readonly\<\{ table: string; kind: FreshnessClockKind; }>; max\_age: \`$\{number}m\` \| \`$\{number}d\` | \`$\{number}h\` \| \`$\{number}ms\` | \`\$\{number}s\`; }>\[]  }>\[]  }>

***

### outputs

• `Readonly` **outputs**: `Outputs`

## Accessors

### program

• `get` **program**(): `Object`

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `outputs` | `Record`\<`string`, \{ `kind`: `"table"` \| `"one"` ; `relation`: [`RelationExpression`](/api/modules/server#relationexpression)  }> |


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