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

# Interface: SelectableQueryInitializer<TableInfo>

> Not exported: an exported type refers to it.

[browser](/api/modules/browser).SelectableQueryInitializer

Not exported: an exported type refers to it.

## Type parameters

| Name | Type |
| :- | :- |
| `TableInfo` | extends [`GenericTableInfo`](/api/modules/browser#generictableinfo) |

## Hierarchy

* `QueryInitializer`\<`TableInfo`>

* [`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

  ↳ **`SelectableQueryInitializer`**

## Methods

### count

▸ **count**(): `Promise`\<`number`>

#### Returns

`Promise`\<`number`>

#### Inherited from

QueryInitializer.count

***

### filter

▸ **filter**(`predicate`): [`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)\<`TableInfo`>

#### Parameters

| Name | Type |
| :- | :- |
| `predicate` | (`q`: [`FilterBuilder`](/api/interfaces/browser.FilterBuilder)\<`TableInfo`>) => [`ExpressionOrValue`](/api/modules/browser#expressionorvalue)\<`boolean`> |

#### Returns

[`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)\<`TableInfo`>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[filter](/api/interfaces/browser.SelectableQuery#filter)

***

### limit

▸ **limit**(`n`): [`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)\<`TableInfo`>

#### Parameters

| Name | Type |
| :- | :- |
| `n` | `number` |

#### Returns

[`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)\<`TableInfo`>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[limit](/api/interfaces/browser.SelectableQuery#limit)

***

### paginate

▸ **paginate**(`paginationOpts`): `Promise`\<[`PaginationResult`](/api/interfaces/browser.PaginationResult)\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>>

#### Parameters

| Name | Type |
| :- | :- |
| `paginationOpts` | [`PaginationOptions`](/api/interfaces/browser.PaginationOptions) |

#### Returns

`Promise`\<[`PaginationResult`](/api/interfaces/browser.PaginationResult)\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[paginate](/api/interfaces/browser.SelectableQuery#paginate)

***

### collect

▸ **collect**(): `Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Returns

`Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[collect](/api/interfaces/browser.SelectableQuery#collect)

***

### take

▸ **take**(`n`): `Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Parameters

| Name | Type |
| :- | :- |
| `n` | `number` |

#### Returns

`Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[take](/api/interfaces/browser.SelectableQuery#take)

***

### first

▸ **first**(): `Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Returns

`Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[first](/api/interfaces/browser.SelectableQuery#first)

***

### unique

▸ **unique**(): `Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Returns

`Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[unique](/api/interfaces/browser.SelectableQuery#unique)

***

### select

▸ **select**\<`Fields`>(`fields`): [`ProjectedQuery`](/api/interfaces/browser.ProjectedQuery)\<`TableInfo`, `Fields`>

#### Type parameters

| Name | Type |
| :- | :- |
| `Fields` | extends `string` |

#### Parameters

| Name | Type |
| :- | :- |
| `fields` | readonly `Fields`\[] |

#### Returns

[`ProjectedQuery`](/api/interfaces/browser.ProjectedQuery)\<`TableInfo`, `Fields`>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[select](/api/interfaces/browser.SelectableQuery#select)

***

### order

▸ **order**(`order`): [`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

#### Parameters

| Name | Type |
| :- | :- |
| `order` | `"asc"` \| `"desc"` |

#### Returns

[`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

#### Overrides

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[order](/api/interfaces/browser.SelectableQuery#order)

***

### fullTableScan

▸ **fullTableScan**(): [`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Returns

[`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Overrides

QueryInitializer.fullTableScan

***

### withIndex

▸ **withIndex**\<`IndexName`>(`indexName`, `indexRange?`): [`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Type parameters

| Name | Type |
| :- | :- |
| `IndexName` | extends `string` \| `number` \| `symbol` |

#### Parameters

| Name | Type |
| :- | :- |
| `indexName` | `IndexName` |
| `indexRange?` | (`q`: [`IndexRangeBuilder`](/api/interfaces/browser.IndexRangeBuilder)\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>, [`NamedIndex`](/api/modules/browser#namedindex)\<`TableInfo`, `IndexName`>, `0`>) => [`IndexRange`](/api/classes/browser.IndexRange) |

#### Returns

[`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Overrides

QueryInitializer.withIndex

***

### withSearchIndex

▸ **withSearchIndex**\<`IndexName`>(`indexName`, `searchFilter`): [`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

#### Type parameters

| Name | Type |
| :- | :- |
| `IndexName` | extends `string` \| `number` \| `symbol` |

#### Parameters

| Name | Type |
| :- | :- |
| `indexName` | `IndexName` |
| `searchFilter` | (`q`: [`SearchFilterBuilder`](/api/interfaces/browser.SearchFilterBuilder)\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>, [`NamedSearchIndex`](/api/modules/browser#namedsearchindex)\<`TableInfo`, `IndexName`>>) => [`SearchFilter`](/api/classes/browser.SearchFilter) |

#### Returns

[`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

#### Overrides

QueryInitializer.withSearchIndex

***

### \[asyncIterator]

▸ **\[asyncIterator]**(): `AsyncIterator`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>, `any`, `undefined`>

#### Returns

`AsyncIterator`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>, `any`, `undefined`>

#### Inherited from

[SelectableQuery](/api/interfaces/browser.SelectableQuery).[\[asyncIterator\]](/api/interfaces/browser.SelectableQuery#\[asynciterator])


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