import Cache from './cache.ts'; import LiveQuery from './live-query.ts'; import Model from './model.ts'; import { ModelAwareQueryBuilder, ModelAwareTransformBuilder, type ModelAwareQueryOrExpressions, type ModelAwareTransformOrOperations, type RecordIdentityOrModel } from './utils/model-aware-types.ts'; import type { ModelFields } from './utils/model-fields.ts'; import { type Listener, type Log, type TaskQueue } from '@orbit/core'; import { type DefaultRequestOptions, type FullRequestOptions, type FullResponse, type RequestOptions, type TransformBuilderFunc } from '@orbit/data'; import type MemorySource from '@orbit/memory'; import type { MemorySourceMergeOptions, MemorySourceSettings } from '@orbit/memory'; import type { RecordCacheQueryOptions } from '@orbit/record-cache'; import { RecordKeyMap, RecordSchema, type InitializedRecord, type RecordOperation, type RecordQueryResult, type RecordSourceQueryOptions, type RecordTransform, type RecordTransformResult, type StandardRecordValidator, type UninitializedRecord } from '@orbit/records'; import type { StandardValidator, ValidatorForFn } from '@orbit/validators'; export interface StoreSettings { source: MemorySource; base?: Store; } /** * @class Store */ export default class Store { #private; static create(injections: StoreSettings): Store; constructor(settings: StoreSettings); destroy(): void; get source(): MemorySource; get cache(): Cache; get keyMap(): RecordKeyMap | undefined; get schema(): RecordSchema; get queryBuilder(): ModelAwareQueryBuilder; get transformBuilder(): ModelAwareTransformBuilder; get validatorFor(): ValidatorForFn | undefined; get defaultQueryOptions(): DefaultRequestOptions | undefined; set defaultQueryOptions(options: DefaultRequestOptions | undefined); get defaultTransformOptions(): DefaultRequestOptions | undefined; set defaultTransformOptions(options: DefaultRequestOptions | undefined); get transformLog(): Log; get requestQueue(): TaskQueue; get syncQueue(): TaskQueue; /** * @deprecated use `isForked` instead */ get forked(): boolean; get isForked(): boolean; get base(): Store | undefined; fork(settings?: Partial>): Store; merge = RecordTransformResult>(forkedStore: Store, options?: DefaultRequestOptions & MemorySourceMergeOptions): Promise; merge = RecordTransformResult>(forkedStore: Store, options: FullRequestOptions & MemorySourceMergeOptions): Promise>; rollback(transformId: string, relativePosition?: number): Promise; rebase(): void; reset(): Promise; /** * @deprecated */ liveQuery(queryOrExpressions: ModelAwareQueryOrExpressions, options?: DefaultRequestOptions, id?: string): Promise; query = RecordQueryResult>(queryOrExpressions: ModelAwareQueryOrExpressions, options?: DefaultRequestOptions, id?: string): Promise; query = RecordQueryResult>(queryOrExpressions: ModelAwareQueryOrExpressions, options: FullRequestOptions, id?: string): Promise>; /** * Adds a record */ addRecord = Model>(properties: UninitializedRecord | ModelFields, options?: DefaultRequestOptions): Promise; /** * Updates a record */ updateRecord = Model>(properties: InitializedRecord | ModelFields, options?: DefaultRequestOptions): Promise; /** * Updates a record's fields. Distinct from updateRecord in that updateRecordFields takes a record identity as a separate argument * from the fields to update. */ updateRecordFields = Model>(identity: RecordIdentityOrModel, fields: Partial | Partial, options?: DefaultRequestOptions): Promise; /** * Removes a record */ removeRecord(identity: RecordIdentityOrModel, options?: DefaultRequestOptions): Promise; /** * @deprecated */ find(type: string, id?: string, options?: DefaultRequestOptions): Promise; findRecord = Model | undefined>(type: string, id: string, options?: DefaultRequestOptions): Promise; findRecord = Model | undefined>(identity: RecordIdentityOrModel, options?: DefaultRequestOptions): Promise; findRecords = Model[]>(typeOrIdentities: string | RecordIdentityOrModel[], options?: DefaultRequestOptions): Promise; /** * @deprecated */ findRecordByKey(type: string, key: string, value: string, options?: DefaultRequestOptions): Promise; /** * @deprecated */ peekRecord(type: string, id: string): Model | undefined; /** * @deprecated */ peekRecords(type: string): Model[]; /** * @deprecated */ peekRecordByKey(type: string, key: string, value: string): Model | undefined; on(event: string, listener: Listener): void; off(event: string, listener: Listener): void; one(event: string, listener: Listener): void; sync(transformOrTransforms: RecordTransform | RecordTransform[] | TransformBuilderFunc): Promise; update = RecordTransformResult>(transformOrOperations: ModelAwareTransformOrOperations, options?: DefaultRequestOptions, id?: string): Promise; update = RecordTransformResult>(transformOrOperations: ModelAwareTransformOrOperations, options: FullRequestOptions, id?: string): Promise>; transformsSince(transformId: string): RecordTransform[]; getTransformsSince(transformId: string): RecordTransform[]; allTransforms(): RecordTransform[]; getAllTransforms(): RecordTransform[]; getTransform(transformId: string): RecordTransform; getInverseOperations(transformId: string): RecordOperation[]; } //# sourceMappingURL=store.d.ts.map