import { Writable } from "node:stream"; import { ConcurrencyCheckMode, IDocumentSession, IDocumentSessionImpl, LoadOptions, SessionLoadInternalParameters, SessionLoadStartingWithOptions } from "./IDocumentSession.js"; import { DocumentConventions } from "../Conventions/DocumentConventions.js"; import { ClassConstructor, EntitiesCollectionObject, IRavenObject, ObjectTypeDescriptor } from "../../Types/index.js"; import { DocumentType } from "../DocumentAbstractions.js"; import { InMemoryDocumentSessionOperations } from "./InMemoryDocumentSessionOperations.js"; import { DocumentStore } from "../DocumentStore.js"; import { ILoaderWithInclude } from "./Loaders/ILoaderWithInclude.js"; import { IRawDocumentQuery } from "./IRawDocumentQuery.js"; import { AdvancedDocumentQueryOptions, DocumentQueryOptions } from "./QueryOptions.js"; import { IDocumentQuery } from "./IDocumentQuery.js"; import { IAttachmentsSessionOperations } from "./IAttachmentsSessionOperations.js"; import { IEagerSessionOperations } from "./Operations/Lazy/IEagerSessionOperations.js"; import { Lazy } from "../Lazy.js"; import { ILazyOperation } from "./Operations/Lazy/ILazyOperation.js"; import { ResponseTimeInformation } from "./ResponseTimeInformation.js"; import { ILazySessionOperations } from "./Operations/Lazy/ILazySessionOperations.js"; import { JavaScriptArray } from "./JavaScriptArray.js"; import { IRevisionsSessionOperations } from "./IRevisionsSessionOperations.js"; import { DocumentResultStream } from "./DocumentResultStream.js"; import { IAdvancedSessionOperations, StreamQueryStatisticsCallback } from "./IAdvancedSessionOperations.js"; import { IClusterTransactionOperations } from "./IClusterTransactionOperations.js"; import { ClusterTransactionOperationsBase } from "./ClusterTransactionOperationsBase.js"; import { SessionOptions } from "./SessionOptions.js"; import { ISessionDocumentCounters } from "./ISessionDocumentCounters.js"; import { ISessionDocumentTimeSeries } from "./ISessionDocumentTimeSeries.js"; import { ISessionDocumentTypedTimeSeries } from "./ISessionDocumentTypedTimeSeries.js"; import { ISessionDocumentRollupTypedTimeSeries } from "./ISessionDocumentRollupTypedTimeSeries.js"; import { JavaScriptMap } from "./JavaScriptMap.js"; import { AbstractCommonApiForIndexes } from "../Indexes/AbstractCommonApiForIndexes.js"; import { ConditionalLoadResult } from "./ConditionalLoadResult.js"; import { ISessionDocumentIncrementalTimeSeries } from "./ISessionDocumentIncrementalTimeSeries.js"; import { ISessionDocumentTypedIncrementalTimeSeries } from "./ISessionDocumentTypedIncrementalTimeSeries.js"; export interface IStoredRawEntityInfo { originalValue: object; metadata: object; originalMetadata: object; id: string; changeVector?: string | null; expectedChangeVector?: string | null; concurrencyCheckMode: ConcurrencyCheckMode; documentType: DocumentType; } export declare class DocumentSession extends InMemoryDocumentSessionOperations implements IDocumentSession, IDocumentSessionImpl { constructor(documentStore: DocumentStore, id: string, options: SessionOptions); get advanced(): IAdvancedSessionOperations; get session(): InMemoryDocumentSessionOperations; protected _generateId(entity: object): Promise; numberOfRequestsInSession: number; load(id: string): Promise; load(id: string, options?: LoadOptions): Promise; load(id: string, documentType?: DocumentType): Promise; load(ids: string[]): Promise>; load(ids: string[], options?: LoadOptions): Promise>; load(ids: string[], documentType?: DocumentType): Promise>; private _prepareLoadInternalOpts; private _loadInternal; saveChanges(): Promise; /** * Refreshes the specified entity from Raven server. */ refresh(entity: TEntity): Promise; refresh(entities: TEntity[]): Promise; private _refreshEntityInternal; private _refreshEntitiesInternal; /** * Check if document exists without loading it */ exists(id: string): Promise; loadStartingWith(idPrefix: string): Promise; loadStartingWith(idPrefix: string, opts: SessionLoadStartingWithOptions): Promise; loadStartingWithIntoStream(idPrefix: string, writable: Writable): Promise; loadStartingWithIntoStream(idPrefix: string, writable: Writable, opts: SessionLoadStartingWithOptions): Promise; loadIntoStream(ids: string[], writable: Writable): Promise; private _loadStartingWithInternal; loadInternal(ids: string[], opts: SessionLoadInternalParameters): Promise>; /** * Begin a load while including the specified path */ include(path: string): ILoaderWithInclude; increment(id: string, path: string, valueToAdd: UValue): void; increment(entity: T, path: string, valueToAdd: UValue): void; addOrIncrement(id: string, entity: T, pathToObject: string, valToAdd: UValue): void; addOrPatchArray(id: string, entity: T, pathToArray: string, arrayAdder: (array: JavaScriptArray) => void): void; addOrPatch(id: string, entity: T, pathToObject: string, value: UValue): void; private _valsCount; private _customCount; patch(id: string, path: string, value: UValue): void; patch(entity: TEntity, path: string, value: UValue): void; patchArray(id: string, pathToArray: string, arrayAdder: (array: JavaScriptArray) => void): void; patchArray(entity: TEntity, pathToArray: string, arrayAdder: (array: JavaScriptArray) => void): void; patchObject(entity: TEntity, pathToObject: string, mapAdder: (map: JavaScriptMap) => void): void; patchObject(id: string, pathToObject: string, mapAdder: (map: JavaScriptMap) => void): void; private _tryMergePatches; rawQuery(query: string, documentType?: DocumentType): IRawDocumentQuery; query(documentType: DocumentType): IDocumentQuery; query(documentType: DocumentType, index: new () => AbstractCommonApiForIndexes): IDocumentQuery; query(opts: DocumentQueryOptions): IDocumentQuery; documentQuery(opts: AdvancedDocumentQueryOptions): IDocumentQuery; documentQuery(documentType: DocumentType): IDocumentQuery; protected _processQueryParameters(opts: AdvancedDocumentQueryOptions, conventions: DocumentConventions): { indexName: string; collection: string; }; private _attachments; get attachments(): IAttachmentsSessionOperations; private _revisions; get revisions(): IRevisionsSessionOperations; private _clusterTransaction; get clusterTransaction(): IClusterTransactionOperations; protected _hasClusterSession(): boolean; protected _clearClusterSession(): void; get clusterSession(): ClusterTransactionOperationsBase; get lazily(): ILazySessionOperations; get eagerly(): IEagerSessionOperations; executeAllPendingLazyOperations(): Promise; private _executeLazyOperationsSingleStep; addLazyOperation(operation: ILazyOperation): Lazy; addLazyCountOperation(operation: ILazyOperation): Lazy; lazyLoadInternal(ids: string[], includes: string[], clazz: ObjectTypeDescriptor): Lazy>; stream(query: IDocumentQuery): Promise>; stream(query: IDocumentQuery, streamQueryStats: StreamQueryStatisticsCallback): Promise>; stream(query: IRawDocumentQuery): Promise>; stream(query: IRawDocumentQuery, streamQueryStats: StreamQueryStatisticsCallback): Promise>; stream(idPrefix: string): Promise>; stream(idPrefix: string, opts: SessionLoadStartingWithOptions): Promise>; private _streamStartingWith; private _streamQueryResults; private _getStreamResultTransform; /** * Returns the results of a query directly into stream */ streamInto(query: IDocumentQuery, writable: Writable): Promise; /** * Returns the results of a query directly into stream */ streamInto(query: IRawDocumentQuery, writable: Writable): Promise; countersFor(documentId: string): ISessionDocumentCounters; countersFor(entity: object): ISessionDocumentCounters; timeSeriesFor(documentId: string, name: string): ISessionDocumentTimeSeries; timeSeriesFor(entity: any, name: string): ISessionDocumentTimeSeries; timeSeriesFor(documentId: string, clazz: ClassConstructor): ISessionDocumentTypedTimeSeries; timeSeriesFor(documentId: string, name: string, clazz: ClassConstructor): ISessionDocumentTypedTimeSeries; timeSeriesFor(entity: object, clazz: ClassConstructor): ISessionDocumentTypedTimeSeries; timeSeriesFor(entity: object, name: string, clazz: ClassConstructor): ISessionDocumentTypedTimeSeries; timeSeriesRollupFor(entity: object, policy: string, clazz: ClassConstructor): ISessionDocumentRollupTypedTimeSeries; timeSeriesRollupFor(entity: object, policy: string, raw: string, clazz: ClassConstructor): ISessionDocumentRollupTypedTimeSeries; timeSeriesRollupFor(documentId: string, policy: string, clazz: ClassConstructor): ISessionDocumentRollupTypedTimeSeries; timeSeriesRollupFor(documentId: string, policy: string, raw: string, clazz: ClassConstructor): ISessionDocumentRollupTypedTimeSeries; incrementalTimeSeriesFor(documentId: string, name: string): ISessionDocumentIncrementalTimeSeries; incrementalTimeSeriesFor(entity: object, name: string): ISessionDocumentIncrementalTimeSeries; incrementalTimeSeriesFor(documentId: string, clazz: ClassConstructor): ISessionDocumentTypedIncrementalTimeSeries; incrementalTimeSeriesFor(documentId: string, name: string, clazz: ClassConstructor): ISessionDocumentTypedIncrementalTimeSeries; incrementalTimeSeriesFor(entity: object, clazz: ClassConstructor): ISessionDocumentTypedIncrementalTimeSeries; incrementalTimeSeriesFor(entity: object, name: string, clazz: ClassConstructor): ISessionDocumentTypedIncrementalTimeSeries; conditionalLoad(id: string, changeVector: string, clazz: ClassConstructor): Promise>; } //# sourceMappingURL=DocumentSession.d.ts.map