> ## 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: NativeHttpClient

> Not exported: an exported type refers to it.

[browser](https://docs.bijection.com/api/modules/browser).NativeHttpClient

Not exported: an exported type refers to it.

## Constructors

### constructor

• **new NativeHttpClient**(`host`, `requests?`)

#### Parameters

| Name | Type |
| :- | :- |
| `host` | [`Host`](https://docs.bijection.com/api/modules/browser#host) |
| `requests?` | [`RequestJournal`](https://docs.bijection.com/api/interfaces/browser.RequestJournal) |

## Properties

### fileAccessVersion

• `Private` **fileAccessVersion**: `number` = `0`

***

### fileRequests

• `Private` `Readonly` **fileRequests**: `Set`\<`AbortController`>

***

### operationRequests

• `Private` `Readonly` **operationRequests**: `Set`\<`AbortController`>

***

### operationClient

• `Private` **operationClient**: `undefined` | [`OperationClient`](https://docs.bijection.com/api/modules/browser#operationclient)

***

### answerClient

• `Private` **answerClient**: `undefined` | [`WorkspaceSession`](https://docs.bijection.com/api/modules/browser#workspacesession)

***

### cleanups

• `Private` `Readonly` **cleanups**: `Set`\<() => `Promise`\<`void`>>

***

### branchingClient

• `Private` **branchingClient**: `undefined` | [`BranchingClient`](https://docs.bijection.com/api/modules/browser#branchingclient)

***

### branchingEpoch

• `Private` **branchingEpoch**: `number` = `-1`

***

### closing

• `Private` **closing**: `undefined` | `Promise`\<`void`>

***

### credentialEpoch

• `Private` **credentialEpoch**: `number` = `0`

***

### answerEpoch

• `Private` **answerEpoch**: `number` = `-1`

***

### credentialListeners

• `Private` `Readonly` **credentialListeners**: `Set`\<() => `void`>

***

### isClosed

• `Private` **isClosed**: `boolean` = `false`

***

### token

• `Private` `Readonly` **token**: () => `undefined` | `string` & \{ `onChange`: (`listener`: () => `void`) => () => `void`  }

***

### observations

• `Private` `Readonly` **observations**: [`ObservationSession`](https://docs.bijection.com/api/modules/browser#observationsession)

***

### deploymentObservations

• `Private` `Readonly` **deploymentObservations**: `Map`\<`string`, [`ObservationSession`](https://docs.bijection.com/api/modules/browser#observationsession)>

***

### host

• `Private` `Readonly` **host**: [`Host`](https://docs.bijection.com/api/modules/browser#host)

***

### requests

• `Private` `Optional` `Readonly` **requests**: [`RequestJournal`](https://docs.bijection.com/api/interfaces/browser.RequestJournal)

***

### clientFiles

• `Private` **clientFiles**: `undefined` | [`ClientFiles`](https://docs.bijection.com/api/modules/browser#clientfiles)

## Accessors

### operations

• `get` **operations**(): [`OperationClient`](https://docs.bijection.com/api/modules/browser#operationclient)

#### Returns

[`OperationClient`](https://docs.bijection.com/api/modules/browser#operationclient)

***

### questions

• `get` **questions**(): [`WorkspaceSession`](https://docs.bijection.com/api/modules/browser#workspacesession)

#### Returns

[`WorkspaceSession`](https://docs.bijection.com/api/modules/browser#workspacesession)

***

### branching

• `get` **branching**(): [`BranchingClient`](https://docs.bijection.com/api/modules/browser#branchingclient)

#### Returns

[`BranchingClient`](https://docs.bijection.com/api/modules/browser#branchingclient)

***

### requestInbox

• `get` **requestInbox**(): [`RequestsClient`](https://docs.bijection.com/api/modules/browser#requestsclient)

#### Returns

[`RequestsClient`](https://docs.bijection.com/api/modules/browser#requestsclient)

***

### execution

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

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `runs` | [`RunClient`](https://docs.bijection.com/api/modules/browser#runclient) |
| `programs` | `Readonly`\<\{ `admission`: (`signal?`: `AbortSignal`) => `Promise`\<[`ScenarioAdmission`](https://docs.bijection.com/api/modules/scenarios#scenarioadmission)> ; `capture`: (`options`: \{ `source?`: [`BranchReference`](https://docs.bijection.com/api/modules/browser#branchreference) ; `cases?`: readonly [`ScenarioProgramCase`](https://docs.bijection.com/api/modules/browser#scenarioprogramcase)\[] ; `admission?`: [`ScenarioAdmission`](https://docs.bijection.com/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](https://docs.bijection.com/api/modules/browser#program)> ; `current`: (`options`: \{ `cases?`: readonly [`ScenarioProgramCase`](https://docs.bijection.com/api/modules/browser#scenarioprogramcase)\[] ; `admission?`: [`ScenarioAdmission`](https://docs.bijection.com/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](https://docs.bijection.com/api/modules/browser#program)> ; `derive`: (`options`: \{ `from`: [`ProgramRef`](https://docs.bijection.com/api/modules/browser#programref) ; `bindings?`: [`ProgramBindings`](https://docs.bijection.com/api/modules/programs#programbindings) ; `admission?`: [`ScenarioAdmission`](https://docs.bijection.com/api/modules/scenarios#scenarioadmission)  }, `signal?`: `AbortSignal`) => `Promise`\<[`Program`](https://docs.bijection.com/api/modules/browser#program)> ; `get`: (`ref`: [`ProgramRef`](https://docs.bijection.com/api/modules/browser#programref)) => [`Program`](https://docs.bijection.com/api/modules/browser#program)  }> |
| `transport` | \{ `call`: [`ScenarioCall`](https://docs.bijection.com/api/modules/scenarios#scenariocall) ; `restoreRequest`: (`value`: [`ScenarioSubmission`](https://docs.bijection.com/api/modules/scenarios#scenariosubmission)) => `Readonly`\<\{ `request`: [`ScenarioStartRequest`](https://docs.bijection.com/api/modules/browser#scenariostartrequest) \| [`ScenarioProgramCaptureRequest`](https://docs.bijection.com/api/modules/scenarios#scenarioprogramcapturerequest) \| [`ProgramDeriveRequest`](https://docs.bijection.com/api/modules/scenarios#programderiverequest) \| [`ScenarioProgramRequest`](https://docs.bijection.com/api/modules/scenarios#scenarioprogramrequest) \| [`ScenarioRunRequest`](https://docs.bijection.com/api/modules/scenarios#scenariorunrequest) \| [`ScenarioCollectionStartRequest`](https://docs.bijection.com/api/modules/scenarios#scenariocollectionstartrequest) \| [`ScenarioCollectionRequest`](https://docs.bijection.com/api/modules/scenarios#scenariocollectionrequest) \| [`ScenarioPreparationRequest`](https://docs.bijection.com/api/modules/scenarios#scenariopreparationrequest) \| [`ScenarioAssessmentRequest`](https://docs.bijection.com/api/modules/scenarios#scenarioassessmentrequest) \| [`ScenarioCollectionOrderRequest`](https://docs.bijection.com/api/modules/scenarios#scenariocollectionorderrequest) \| [`ScenarioValidationRequest`](https://docs.bijection.com/api/modules/scenarios#scenariovalidationrequest) \| [`ScenarioPromotionRequest`](https://docs.bijection.com/api/modules/scenarios#scenariopromotionrequest) = captured.request; `serialize`: () => [`ScenarioSubmission`](https://docs.bijection.com/api/modules/scenarios#scenariosubmission) ; `send`: (`signal?`: `AbortSignal`) => `Promise`\<`unknown`>  }> ; `pendingRequests`: (`__namedParameters`: [`RequestPageOptions`](https://docs.bijection.com/api/modules/browser#requestpageoptions) & \{ `signal?`: `AbortSignal`  }) => `Promise`\<[`RequestPage`](https://docs.bijection.com/api/modules/browser#requestpage)\<[`ScenarioSubmission`](https://docs.bijection.com/api/modules/scenarios#scenariosubmission)>>  } |
| `transport.call` | [`ScenarioCall`](https://docs.bijection.com/api/modules/scenarios#scenariocall) |
| `transport.restoreRequest` | (`value`: [`ScenarioSubmission`](https://docs.bijection.com/api/modules/scenarios#scenariosubmission)) => `Readonly`\<\{ `request`: [`ScenarioStartRequest`](https://docs.bijection.com/api/modules/browser#scenariostartrequest) \| [`ScenarioProgramCaptureRequest`](https://docs.bijection.com/api/modules/scenarios#scenarioprogramcapturerequest) \| [`ProgramDeriveRequest`](https://docs.bijection.com/api/modules/scenarios#programderiverequest) \| [`ScenarioProgramRequest`](https://docs.bijection.com/api/modules/scenarios#scenarioprogramrequest) \| [`ScenarioRunRequest`](https://docs.bijection.com/api/modules/scenarios#scenariorunrequest) \| [`ScenarioCollectionStartRequest`](https://docs.bijection.com/api/modules/scenarios#scenariocollectionstartrequest) \| [`ScenarioCollectionRequest`](https://docs.bijection.com/api/modules/scenarios#scenariocollectionrequest) \| [`ScenarioPreparationRequest`](https://docs.bijection.com/api/modules/scenarios#scenariopreparationrequest) \| [`ScenarioAssessmentRequest`](https://docs.bijection.com/api/modules/scenarios#scenarioassessmentrequest) \| [`ScenarioCollectionOrderRequest`](https://docs.bijection.com/api/modules/scenarios#scenariocollectionorderrequest) \| [`ScenarioValidationRequest`](https://docs.bijection.com/api/modules/scenarios#scenariovalidationrequest) \| [`ScenarioPromotionRequest`](https://docs.bijection.com/api/modules/scenarios#scenariopromotionrequest) = captured.request; `serialize`: () => [`ScenarioSubmission`](https://docs.bijection.com/api/modules/scenarios#scenariosubmission) ; `send`: (`signal?`: `AbortSignal`) => `Promise`\<`unknown`>  }> |
| `transport.pendingRequests` | (`__namedParameters`: [`RequestPageOptions`](https://docs.bijection.com/api/modules/browser#requestpageoptions) & \{ `signal?`: `AbortSignal`  }) => `Promise`\<[`RequestPage`](https://docs.bijection.com/api/modules/browser#requestpage)\<[`ScenarioSubmission`](https://docs.bijection.com/api/modules/scenarios#scenariosubmission)>> |

## Methods

### credentialsChanged

▸ **credentialsChanged**(): `void`

#### Returns

`void`

***

### close

▸ **close**(): `Promise`\<`void`>

#### Returns

`Promise`\<`void`>

***

### transport

▸ `Private` **transport**(): `Object`

#### Returns

`Object`

| Name | Type |
| :- | :- |
| `url` | `string` |
| `token` | () => `undefined` \| `string` & \{ `onChange`: (`listener`: () => `void`) => () => `void`  } |
| `observe` | `QueryObserver` |
| `observeAt` | (`address`: `string`) => `QueryObserver` |
| `registerCleanup` | (`close`: () => `Promise`\<`void`>) => `void` |
| `fetch` | (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`\<`Response`>(`input`: `string` \| `URL` \| `Request`, `init?`: `RequestInit`) => `Promise`\<`Response`> |
| `outstanding` | `Set`\<`AbortController`> |
| `requests?` | [`RequestJournal`](https://docs.bijection.com/api/interfaces/browser.RequestJournal) |

***

### invalidateFileAccess

▸ **invalidateFileAccess**(): `void`

#### Returns

`void`

***

### invalidateOperations

▸ **invalidateOperations**(): `void`

#### Returns

`void`

***

### files

▸ **files**(`prepare`): [`ClientFiles`](https://docs.bijection.com/api/modules/browser#clientfiles)

#### Parameters

| Name | Type |
| :- | :- |
| `prepare` | (`operation`: [`OperationReference`](https://docs.bijection.com/api/modules/server#operationreference)\<`"public"`, `any`, `any`>, `intent`: [`OperationUploadRequest`](https://docs.bijection.com/api/modules/server#operationuploadrequest)) => `Promise`\<[`PreparedUpload`](https://docs.bijection.com/api/modules/server#preparedupload)> |

#### Returns

[`ClientFiles`](https://docs.bijection.com/api/modules/browser#clientfiles)

***

### delegate

▸ **delegate**(`input`): `Promise`\<[`DelegationGrant`](https://docs.bijection.com/api/modules/server#delegationgrant)>

#### Parameters

| Name | Type |
| :- | :- |
| `input` | [`DelegationInput`](https://docs.bijection.com/api/modules/server#delegationinput) |

#### Returns

`Promise`\<[`DelegationGrant`](https://docs.bijection.com/api/modules/server#delegationgrant)>

***

### redeemDelegation

▸ **redeemDelegation**(`grant`): `Promise`\<[`DelegatedSession`](https://docs.bijection.com/api/modules/server#delegatedsession)>

#### Parameters

| Name | Type |
| :- | :- |
| `grant` | `string` |

#### Returns

`Promise`\<[`DelegatedSession`](https://docs.bijection.com/api/modules/server#delegatedsession)>


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