### Hierarchy

- IModelStore

### Implemented by

- IdbModelStore

## Index

### Methods

- addSubscriptions
- claimValueIdPrefix
- createModelOffline
- deleteIfNotNeeded
- deleteModel
- getAllModelMetaData
- getModelCreationData
- getModelMetaData
- getModelState
- getModelsRequiringSync
- getSubscribedModels
- modelCreated
- modelDeleted
- modelExists
- processLocalOperation
- processOperationAck
- processServerOperation
- putModelState
- removeSubscriptions
- setModelSubscriptions
- snapshotModel
- updateOfflineModel

## Methods

### addSubscriptions

- addSubscriptions(modelIds: string[]): Promise<void>

- #### Parameters

  - ##### modelIds: string[]

  #### Returns Promise<void>

### claimValueIdPrefix

- claimValueIdPrefix(modelId: string): Promise<object>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<object>

### createModelOffline

- createModelOffline(model: IModelCreationData): Promise<void>

- #### Parameters

  - ##### model: IModelCreationData

  #### Returns Promise<void>

### deleteIfNotNeeded

- deleteIfNotNeeded(modelId: string): Promise<boolean>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<boolean>

### deleteModel

- deleteModel(modelId: string): Promise<void>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<void>

### getAllModelMetaData

- getAllModelMetaData(): Promise<IModelMetaData[]>

- #### Returns Promise<IModelMetaData[]>

### getModelCreationData

- getModelCreationData(modelId: string): Promise<IModelCreationData>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<IModelCreationData>

### getModelMetaData

- getModelMetaData(modelId: string): Promise<IModelMetaData | undefined>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<IModelMetaData | undefined>

### getModelState

- getModelState(modelId: string): Promise<IModelState | undefined>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<IModelState | undefined>

### getModelsRequiringSync

- getModelsRequiringSync(): Promise<IModelMetaData[]>

- #### Returns Promise<IModelMetaData[]>

### getSubscribedModels

- getSubscribedModels(): Promise<IModelMetaData[]>

- #### Returns Promise<IModelMetaData[]>

### modelCreated

- modelCreated(modelId: string): Promise<void>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<void>

### modelDeleted

- modelDeleted(modelId: string): Promise<void>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<void>

### modelExists

- modelExists(modelId: string): Promise<boolean>

- #### Parameters

  - ##### modelId: string

  #### Returns Promise<boolean>

### processLocalOperation

- processLocalOperation(localOp: ILocalOperationData): Promise<void>

- #### Parameters

  - ##### localOp: ILocalOperationData

  #### Returns Promise<void>

### processOperationAck

- processOperationAck(modelId: string, seqNo: number, serverOp: IServerOperationData): Promise<void>

- #### Parameters

  - ##### modelId: string

  - ##### seqNo: number

  - ##### serverOp: IServerOperationData

  #### Returns Promise<void>

### processServerOperation

- processServerOperation(serverOp: IServerOperationData, localOps: ILocalOperationData[]): Promise<void>

- #### Parameters

  - ##### serverOp: IServerOperationData

  - ##### localOps: ILocalOperationData[]

  #### Returns Promise<void>

### putModelState

- putModelState(model: IModelState): Promise<void>

- #### Parameters

  - ##### model: IModelState

  #### Returns Promise<void>

### removeSubscriptions

- removeSubscriptions(modelId: string[]): Promise<void>

- #### Parameters

  - ##### modelId: string[]

  #### Returns Promise<void>

### setModelSubscriptions

- setModelSubscriptions(subscriptions: string[]): Promise<void>

- #### Parameters

  - ##### subscriptions: string[]

  #### Returns Promise<void>

### snapshotModel

- snapshotModel(modelId: string, version: number, sequenceNumber: number, modelData: IObjectValue): Promise<void>

- #### Parameters

  - ##### modelId: string

  - ##### version: number

  - ##### sequenceNumber: number

  - ##### modelData: IObjectValue

  #### Returns Promise<void>

### updateOfflineModel

- updateOfflineModel(update: IModelUpdate): Promise<void>

- #### Parameters

  - ##### update: IModelUpdate

  #### Returns Promise<void>