import type { Constructor } from '@cratis/fundamentals'; import { IClientArtifactsProvider } from '../artifacts/index.js'; import { ChronicleConnection } from '../connection/index.js'; import type { ConnectionLifecycle } from '../connection/ConnectionLifecycle.js'; import type { IMaterializedReadModels } from './IMaterializedReadModels.js'; import type { ReadModelNamingPolicy } from './ReadModelNamingPolicy.js'; import type { IReadModels } from './IReadModels.js'; import type { IReadModelWatcher } from './IReadModelWatcher.js'; import type { ReadModelChangeset } from './ReadModelChangeset.js'; import type { ReadModelWatchOptions } from './ReadModelWatchOptions.js'; import type { ReadModelSnapshot } from './ReadModelSnapshot.js'; /** * Implements {@link IReadModels} by working with the Chronicle read-model gRPC service. */ export declare class ReadModels implements IReadModels { private readonly _eventStore; private readonly _namespace; private readonly _connection; private readonly _clientArtifacts; private readonly _defaultSinkTypeId; private readonly _isModelBoundProjectionRegistered?; private readonly _readModelNamingPolicy?; private readonly _lifecycle?; readonly materialized: IMaterializedReadModels; private readonly _watchCancellation; constructor(_eventStore: string, _namespace: string, _connection: ChronicleConnection, _clientArtifacts: IClientArtifactsProvider, _defaultSinkTypeId: string, _isModelBoundProjectionRegistered?: ((readModelType: Constructor) => boolean) | undefined, _readModelNamingPolicy?: ReadModelNamingPolicy | undefined, _lifecycle?: ConnectionLifecycle | undefined); /** @inheritdoc */ register(readModelType?: Constructor): Promise; /** @inheritdoc */ getInstanceById(readModelType: Constructor, key: string, sessionId?: string): Promise; /** @inheritdoc */ findInstanceById(readModelType: Constructor, key: string, sessionId?: string): Promise; /** @inheritdoc */ getInstances(readModelType: Constructor, eventCount?: bigint): Promise; /** @inheritdoc */ getSnapshotsById(readModelType: Constructor, key: string): Promise[]>; /** @inheritdoc */ watch(readModelType: Constructor): AsyncIterable>; /** @inheritdoc */ createWatcher(readModelType: Constructor, options?: ReadModelWatchOptions): IReadModelWatcher; /** Stops all watchers created through createWatcher for this event store. */ dispose(): void; /** @inheritdoc */ dehydrateSession(sessionId: string, readModelType: Constructor, key: string): Promise; /** @inheritdoc */ release(readModelType: Constructor, instance: TReadModel): Promise; /** @inheritdoc */ releaseMany(readModelType: Constructor, instances: TReadModel[]): Promise; /** @inheritdoc */ releaseDocument(readModelType: Constructor, document: Readonly>): Promise>; private releaseDocumentProperties; private copyStoredDocument; private isDocumentObject; private isDocumentSubject; private toChangeset; private releaseSnapshotInstances; private resolveReadModels; private addResolved; private resolveReadModel; private toDefinition; private getReadModelSchema; private deserializeReadModel; private schemaHasComplianceMetadata; private extractSubject; } //# sourceMappingURL=ReadModels.d.ts.map