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

# React SDK Common Types

> Common TypeScript types used by the Prequel Import React SDK hooks and client helpers.

# React SDK Common Types

Common TypeScript types used by the Prequel Import React SDK hooks and client helpers.

### ImportApiError

> **ImportApiError** = `object`

#### Properties

##### code

> **code**: `string`

##### message

> **message**: `string`

##### statusCode

> **statusCode**: `number`

***

### DefaultClientConfig

> **DefaultClientConfig** = `object`

#### Properties

##### baseUrl?

> `optional` **baseUrl?**: `string`

Prequel Import API base URL. Defaults to Prequel's hosted API.

##### providerId

> **providerId**: `string`

Provider ID the browser client should be scoped to.

##### fetchToken

> **fetchToken**: `FetchAuthToken`

Returns a short-lived Import API scoped auth token for the current provider or source request.

##### appId?

> `optional` **appId?**: `string`

Application identifier sent with the scoped auth token.

##### headers?

> `optional` **headers?**: `ClientHeadersProvider`

Additional headers to send with every Import API request.

##### credentials?

> `optional` **credentials?**: `RequestCredentials`

Fetch credentials mode for Import API requests.

***

### ImportProviderProps

> **ImportProviderProps** = `object`

#### Properties

##### client

> **client**: `ImportClient`

##### routes?

> `optional` **routes?**: `ImportApiRouteOverrides`

##### children

> **children**: `React.ReactNode`

***

### UseListDatasetsResult

> **UseListDatasetsResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`DatasetResource`](api-models#datasetresource)>

***

### UseDatasetResult

> **UseDatasetResult** = `ImportQueryResult`\<[`DatasetResource`](api-models#datasetresource)>

***

### UseDatasetSchemaResult

> **UseDatasetSchemaResult** = `ImportQueryResultWithAlias`\<[`DatasetSchemaColumn`](api-models#datasetschemacolumn)\[] | `undefined`, `"schema"`>

***

### UseRandomSampleDatasetResult

> **UseRandomSampleDatasetResult** = `ImportActionResult`\<\[`DatasetRandomSampleParams`], [`DatasetRandomSampleResponse`](api-models#datasetrandomsampleresponse)> & `object`

#### Type Declaration

##### randomSampleDataset

> **randomSampleDataset**: (`params`: `DatasetRandomSampleParams`) => `Promise`\<[`DatasetRandomSampleResponse`](api-models#datasetrandomsampleresponse)>

###### Parameters

| Parameter | Type                        |
| --------- | --------------------------- |
| `params`  | `DatasetRandomSampleParams` |

###### Returns

`Promise`\<[`DatasetRandomSampleResponse`](api-models#datasetrandomsampleresponse)>

##### sample

> **sample**: [`DatasetRandomSampleResponse`](api-models#datasetrandomsampleresponse) | `undefined`

##### isSampling

> **isSampling**: `boolean`

***

### UseCreateDatasetResult

> **UseCreateDatasetResult** = `ImportActionResult`\<\[[`DatasetOptions`](api-models#datasetoptions)], [`DatasetResource`](api-models#datasetresource)> & `object`

#### Type Declaration

##### createDataset

> **createDataset**: (`dataset`: [`DatasetOptions`](api-models#datasetoptions)) => `Promise`\<[`DatasetResource`](api-models#datasetresource)>

###### Parameters

| Parameter | Type                                          |
| --------- | --------------------------------------------- |
| `dataset` | [`DatasetOptions`](api-models#datasetoptions) |

###### Returns

`Promise`\<[`DatasetResource`](api-models#datasetresource)>

##### dataset

> **dataset**: [`DatasetResource`](api-models#datasetresource) | `undefined`

##### isCreating

> **isCreating**: `boolean`

***

### UseListDestinationsResult

> **UseListDestinationsResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`DestinationResource`](api-models#destinationresource)>

***

### UseDestinationResult

> **UseDestinationResult** = `ImportQueryResult`\<[`DestinationResource`](api-models#destinationresource) | `undefined`>

***

### UseListExtractsResult

> **UseListExtractsResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`ExtractResource`](api-models#extractresource)>

***

### UseExtractDebugResult

> **UseExtractDebugResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`ExtractDebugRecord`](api-models#extractdebugrecord)>

***

### UseExtractResult

> **UseExtractResult** = `ImportQueryResult`\<[`ExtractResource`](api-models#extractresource)>

***

### UseListLoadsResult

> **UseListLoadsResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`LoadResource`](api-models#loadresource)>

***

### UseLoadResult

> **UseLoadResult** = `ImportQueryResult`\<[`LoadResource`](api-models#loadresource)>

***

### UseSourceFormOptions

> **UseSourceFormOptions** = `object`

#### Properties

##### providerId

> **providerId**: `string`

##### vendor

> **vendor**: `string`

##### initialSource?

> `optional` **initialSource?**: [`SourceFormSource`](api-models#sourceformsource)

##### enabled?

> `optional` **enabled?**: `boolean`

***

### UseSourceFormFieldsOptions

> **UseSourceFormFieldsOptions** = [`UseSourceFormOptions`](#usesourceformoptions)

***

### UseSourceFormResult

> **UseSourceFormResult** = `object`

#### Properties

##### source

> **source**: [`SourceFormSource`](api-models#sourceformsource)

##### draft

> **draft**: [`SourceFormSource`](api-models#sourceformsource)

##### fields

> **fields**: [`SourceFormField`](api-models#sourceformfield)\[]

##### setSourceField

> **setSourceField**: (`fieldOrPath`: [`SourceFormField`](api-models#sourceformfield) | `string`, `value`: `unknown`) => `void`

###### Parameters

| Parameter     | Type                                                        |
| ------------- | ----------------------------------------------------------- |
| `fieldOrPath` | [`SourceFormField`](api-models#sourceformfield) \| `string` |
| `value`       | `unknown`                                                   |

###### Returns

`void`

##### getSource

> **getSource**: (`overrides?`: [`SourceFormSource`](api-models#sourceformsource)) => [`SourceOptions`](api-models#sourceoptions)

###### Parameters

| Parameter    | Type                                              |
| ------------ | ------------------------------------------------- |
| `overrides?` | [`SourceFormSource`](api-models#sourceformsource) |

###### Returns

[`SourceOptions`](api-models#sourceoptions)

##### isLoading

> **isLoading**: `boolean`

##### isRefetching

> **isRefetching**: `boolean`

##### error

> **error**: `unknown`

***

### UseSourceFormFieldsResult

> **UseSourceFormFieldsResult** = [`UseSourceFormResult`](#usesourceformresult)

***

### ListSourcesOptions

> **ListSourcesOptions** = [`PaginatedImportQueryOptions`](#paginatedimportqueryoptions) & `object`

#### Type Declaration

##### providerId?

> `optional` **providerId?**: `string`

***

### UseListSourcesResult

> **UseListSourcesResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`SourceResource`](api-models#sourceresource)>

***

### UseSourceResult

> **UseSourceResult** = `ImportQueryResult`\<[`SourceResource`](api-models#sourceresource)>

***

### UseSourceTablesResult

> **UseSourceTablesResult** = `ImportQueryResultWithAlias`\<[`SourceTable`](api-models#sourcetable)\[] | `undefined`, `"tables"`>

***

### UseSourceSchemaResult

> **UseSourceSchemaResult** = `ImportQueryResultWithAlias`\<[`SourcePreviewSchemaField`](api-models#sourcepreviewschemafield)\[] | `undefined`, `"schema"`>

***

### UsePreviewSourceRowsResult

> **UsePreviewSourceRowsResult** = `ImportActionResult`\<\[`string`, [`SourcePreviewOptions`](api-models#sourcepreviewoptions)], [`SourcePreviewResponse`](api-models#sourcepreviewresponse)> & `object`

#### Type Declaration

##### previewSourceRows

> **previewSourceRows**: (`id`: `string`, `source`: [`SourcePreviewOptions`](api-models#sourcepreviewoptions)) => `Promise`\<[`SourcePreviewResponse`](api-models#sourcepreviewresponse)>

###### Parameters

| Parameter | Type                                                      |
| --------- | --------------------------------------------------------- |
| `id`      | `string`                                                  |
| `source`  | [`SourcePreviewOptions`](api-models#sourcepreviewoptions) |

###### Returns

`Promise`\<[`SourcePreviewResponse`](api-models#sourcepreviewresponse)>

##### preview

> **preview**: [`SourcePreviewResponse`](api-models#sourcepreviewresponse) | `undefined`

##### isPreviewing

> **isPreviewing**: `boolean`

***

### UseCreateSourceResult

> **UseCreateSourceResult** = `ImportActionResult`\<\[[`SourceOptions`](api-models#sourceoptions)], [`SourceResource`](api-models#sourceresource)> & `object`

#### Type Declaration

##### createSource

> **createSource**: (`source`: [`SourceOptions`](api-models#sourceoptions)) => `Promise`\<[`SourceResource`](api-models#sourceresource)>

###### Parameters

| Parameter | Type                                        |
| --------- | ------------------------------------------- |
| `source`  | [`SourceOptions`](api-models#sourceoptions) |

###### Returns

`Promise`\<[`SourceResource`](api-models#sourceresource)>

##### source

> **source**: [`SourceResource`](api-models#sourceresource) | `undefined`

##### isCreating

> **isCreating**: `boolean`

***

### UseUpdateSourceResult

> **UseUpdateSourceResult** = `ImportActionResult`\<\[`string`, [`UpdateSourceOptions`](api-models#updatesourceoptions)], [`SourceResource`](api-models#sourceresource)> & `object`

#### Type Declaration

##### updateSource

> **updateSource**: (`id`: `string`, `source`: [`UpdateSourceOptions`](api-models#updatesourceoptions)) => `Promise`\<[`SourceResource`](api-models#sourceresource)>

###### Parameters

| Parameter | Type                                                    |
| --------- | ------------------------------------------------------- |
| `id`      | `string`                                                |
| `source`  | [`UpdateSourceOptions`](api-models#updatesourceoptions) |

###### Returns

`Promise`\<[`SourceResource`](api-models#sourceresource)>

##### source

> **source**: [`SourceResource`](api-models#sourceresource) | `undefined`

##### isUpdating

> **isUpdating**: `boolean`

***

### UseTestNewSourceResult

> **UseTestNewSourceResult** = `ImportActionResult`\<\[[`SourceOptions`](api-models#sourceoptions)], [`SourceConnectionTestResult`](api-models#sourceconnectiontestresult)> & `object`

#### Type Declaration

##### testNewSource

> **testNewSource**: (`source`: [`SourceOptions`](api-models#sourceoptions)) => `Promise`\<[`SourceConnectionTestResult`](api-models#sourceconnectiontestresult)>

###### Parameters

| Parameter | Type                                        |
| --------- | ------------------------------------------- |
| `source`  | [`SourceOptions`](api-models#sourceoptions) |

###### Returns

`Promise`\<[`SourceConnectionTestResult`](api-models#sourceconnectiontestresult)>

##### result

> **result**: [`SourceConnectionTestResult`](api-models#sourceconnectiontestresult) | `undefined`

##### isTesting

> **isTesting**: `boolean`

***

### UseTestExistingSourceResult

> **UseTestExistingSourceResult** = `ImportActionResult`\<\[`string`, [`UpdateSourceOptions`](api-models#updatesourceoptions) | `undefined`], [`SourceConnectionTestResult`](api-models#sourceconnectiontestresult)> & `object`

#### Type Declaration

##### testExistingSource

> **testExistingSource**: (`id`: `string`, `source?`: [`UpdateSourceOptions`](api-models#updatesourceoptions)) => `Promise`\<[`SourceConnectionTestResult`](api-models#sourceconnectiontestresult)>

###### Parameters

| Parameter | Type                                                    |
| --------- | ------------------------------------------------------- |
| `id`      | `string`                                                |
| `source?` | [`UpdateSourceOptions`](api-models#updatesourceoptions) |

###### Returns

`Promise`\<[`SourceConnectionTestResult`](api-models#sourceconnectiontestresult)>

##### result

> **result**: [`SourceConnectionTestResult`](api-models#sourceconnectiontestresult) | `undefined`

##### isTesting

> **isTesting**: `boolean`

***

### UseListStreamsResult

> **UseListStreamsResult** = [`PaginatedImportQueryResult`](#paginatedimportqueryresult)\<[`StreamResource`](api-models#streamresource)>

***

### UseStreamResult

> **UseStreamResult** = `ImportQueryResult`\<[`StreamResource`](api-models#streamresource)>

***

### UseCreateStreamResult

> **UseCreateStreamResult** = `ImportActionResult`\<\[[`StreamOptions`](api-models#streamoptions)], [`StreamResource`](api-models#streamresource)> & `object`

#### Type Declaration

##### createStream

> **createStream**: (`stream`: [`StreamOptions`](api-models#streamoptions)) => `Promise`\<[`StreamResource`](api-models#streamresource)>

###### Parameters

| Parameter | Type                                        |
| --------- | ------------------------------------------- |
| `stream`  | [`StreamOptions`](api-models#streamoptions) |

###### Returns

`Promise`\<[`StreamResource`](api-models#streamresource)>

##### stream

> **stream**: [`StreamResource`](api-models#streamresource) | `undefined`

##### isCreating

> **isCreating**: `boolean`

***

### UseUpdateStreamResult

> **UseUpdateStreamResult** = `ImportActionResult`\<\[`string`, [`UpdateStreamOptions`](api-models#updatestreamoptions)], [`StreamResource`](api-models#streamresource)> & `object`

#### Type Declaration

##### updateStream

> **updateStream**: (`id`: `string`, `stream`: [`UpdateStreamOptions`](api-models#updatestreamoptions)) => `Promise`\<[`StreamResource`](api-models#streamresource)>

###### Parameters

| Parameter | Type                                                    |
| --------- | ------------------------------------------------------- |
| `id`      | `string`                                                |
| `stream`  | [`UpdateStreamOptions`](api-models#updatestreamoptions) |

###### Returns

`Promise`\<[`StreamResource`](api-models#streamresource)>

##### stream

> **stream**: [`StreamResource`](api-models#streamresource) | `undefined`

##### isUpdating

> **isUpdating**: `boolean`

***

### UseTestNewStreamResult

> **UseTestNewStreamResult** = `ImportActionResult`\<\[[`TestNewStreamRequest`](api-models#testnewstreamrequest)], [`TestStreamTransformResponse`](api-models#teststreamtransformresponse)> & `object`

#### Type Declaration

##### testNewStream

> **testNewStream**: (`request`: [`TestNewStreamRequest`](api-models#testnewstreamrequest)) => `Promise`\<[`TestStreamTransformResponse`](api-models#teststreamtransformresponse)>

###### Parameters

| Parameter | Type                                                      |
| --------- | --------------------------------------------------------- |
| `request` | [`TestNewStreamRequest`](api-models#testnewstreamrequest) |

###### Returns

`Promise`\<[`TestStreamTransformResponse`](api-models#teststreamtransformresponse)>

##### result

> **result**: [`TestStreamTransformResponse`](api-models#teststreamtransformresponse) | `undefined`

##### isTesting

> **isTesting**: `boolean`

***

### UseTestExistingStreamResult

> **UseTestExistingStreamResult** = `ImportActionResult`\<\[`string`, [`TestStreamTransformRequest`](api-models#teststreamtransformrequest)], [`TestStreamTransformResponse`](api-models#teststreamtransformresponse)> & `object`

#### Type Declaration

##### testExistingStream

> **testExistingStream**: (`id`: `string`, `request`: [`TestStreamTransformRequest`](api-models#teststreamtransformrequest)) => `Promise`\<[`TestStreamTransformResponse`](api-models#teststreamtransformresponse)>

###### Parameters

| Parameter | Type                                                                  |
| --------- | --------------------------------------------------------------------- |
| `id`      | `string`                                                              |
| `request` | [`TestStreamTransformRequest`](api-models#teststreamtransformrequest) |

###### Returns

`Promise`\<[`TestStreamTransformResponse`](api-models#teststreamtransformresponse)>

##### result

> **result**: [`TestStreamTransformResponse`](api-models#teststreamtransformresponse) | `undefined`

##### isTesting

> **isTesting**: `boolean`

***

### UseTestExpressionResult

> **UseTestExpressionResult** = `ImportActionResult`\<\[[`TestExpressionRequest`](api-models#testexpressionrequest)], [`TestExpressionResponse`](api-models#testexpressionresponse)> & `object`

#### Type Declaration

##### testExpression

> **testExpression**: (`request`: [`TestExpressionRequest`](api-models#testexpressionrequest)) => `Promise`\<[`TestExpressionResponse`](api-models#testexpressionresponse)>

###### Parameters

| Parameter | Type                                                        |
| --------- | ----------------------------------------------------------- |
| `request` | [`TestExpressionRequest`](api-models#testexpressionrequest) |

###### Returns

`Promise`\<[`TestExpressionResponse`](api-models#testexpressionresponse)>

##### result

> **result**: [`TestExpressionResponse`](api-models#testexpressionresponse) | `undefined`

##### isTesting

> **isTesting**: `boolean`

***

### PaginatedImportQueryOptions

> **PaginatedImportQueryOptions** = `object`

#### Properties

##### pageSize?

> `optional` **pageSize?**: `number`

##### initialCursor?

> `optional` **initialCursor?**: `string`

##### resetKey?

> `optional` **resetKey?**: `string`

***

### PaginatedImportPageInfo

> **PaginatedImportPageInfo** = `object`

#### Properties

##### cursor

> **cursor**: `string` | `undefined`

##### nextCursor

> **nextCursor**: `string` | `undefined`

##### pageSize

> **pageSize**: `number` | `undefined`

***

### PaginatedImportQueryResult

> **PaginatedImportQueryResult**\<`T`> = `object`

#### Type Parameters

| Type Parameter |
| -------------- |
| `T`            |

#### Properties

##### data

> **data**: `T`\[] | `undefined`

##### isLoading

> **isLoading**: `boolean`

##### error

> **error**: `unknown`

##### refetch

> **refetch**: () => `void`

###### Returns

`void`

##### items

> **items**: `T`\[]

##### pageInfo

> **pageInfo**: [`PaginatedImportPageInfo`](#paginatedimportpageinfo)

##### hasNextPage

> **hasNextPage**: `boolean`

##### hasPreviousPage

> **hasPreviousPage**: `boolean`

##### fetchNextPage

> **fetchNextPage**: () => `void`

###### Returns

`void`

##### fetchPreviousPage

> **fetchPreviousPage**: () => `void`

###### Returns

`void`

##### fetchPage

> **fetchPage**: (`nextPageCursor`: `string` | `undefined`) => `void`

###### Parameters

| Parameter        | Type                    |
| ---------------- | ----------------------- |
| `nextPageCursor` | `string` \| `undefined` |

###### Returns

`void`
