import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import type { CallContext, CallOptions } from "nice-grpc-common"; import { Empty } from "./google/protobuf/empty"; import { Guid } from "./protobuf-net/bcl"; export declare const protobufPackage = "Cratis.Chronicle.Contracts.ReadModels"; export declare enum ReadModelChangeType { Added = 0, Modified = 1, Removed = 2, UNRECOGNIZED = -1 } export declare function readModelChangeTypeFromJSON(object: any): ReadModelChangeType; export declare function readModelChangeTypeToJSON(object: ReadModelChangeType): string; export declare enum ReadModelObserverType { NotSet = 0, Reducer = 1, Projection = 2, UNRECOGNIZED = -1 } export declare function readModelObserverTypeFromJSON(object: any): ReadModelObserverType; export declare function readModelObserverTypeToJSON(object: ReadModelObserverType): string; export declare enum ReadModelOwner { None = 0, Client = 1, Server = 2, UNRECOGNIZED = -1 } export declare function readModelOwnerFromJSON(object: any): ReadModelOwner; export declare function readModelOwnerToJSON(object: ReadModelOwner): string; export declare enum ReadModelSource { Unknown = 0, Code = 1, User = 2, UNRECOGNIZED = -1 } export declare function readModelSourceFromJSON(object: any): ReadModelSource; export declare function readModelSourceToJSON(object: ReadModelSource): string; export interface DehydrateSessionRequest { EventStore: string; Namespace: string; ReadModelIdentifier: string; EventSequenceId: string; ReadModelKey: string; SessionId: string; } export interface GetAllInstancesRequest { EventStore: string; Namespace: string; ReadModelIdentifier: string; EventSequenceId: string; EventCount: bigint; } export interface GetAllInstancesResponse { Instances: string[]; ProcessedEventsCount: bigint; } export interface GetDefinitionsRequest { EventStore: string; } export interface GetDefinitionsResponse { ReadModels: ReadModelDefinition[]; } export interface GetInstanceByKeyRequest { EventStore: string; Namespace: string; ReadModelIdentifier: string; EventSequenceId: string; ReadModelKey: string; SessionId: string; } export interface GetInstanceByKeyResponse { ReadModel: string; ProjectedEventsCount: bigint; LastHandledEventSequenceNumber: bigint; } export interface GetInstancesRequest { EventStore: string; Namespace: string; ReadModel: string; Occurrence: string; Page: number; PageSize: number; } export interface GetInstancesResponse { Instances: string[]; TotalCount: bigint; Page: number; PageSize: number; } export interface GetOccurrencesRequest { EventStore: string; Namespace: string; Type: ReadModelType | undefined; } export interface GetOccurrencesResponse { Occurrences: ReadModelOccurrence[]; } export interface IndexDefinition { PropertyPath: string; } export interface ObserveInstancesRequest { EventStore: string; Namespace: string; ReadModel: string; Page: number; PageSize: number; Occurrence: string; } export interface ObserveInstancesResponse { Instances: string[]; TotalCount: number; Page: number; PageSize: number; } export interface ReadModelChangeset { Namespace: string; ModelKey: string; ReadModel: string; Removed: boolean; Subscribed: boolean; ChangeType: ReadModelChangeType; EventSequenceNumber: bigint; Occurred: SerializableDateTimeOffset | undefined; CorrelationId: Guid | undefined; } export interface ReadModelDefinition { Type: ReadModelType | undefined; ContainerName: string; DisplayName: string; Sink: SinkDefinition | undefined; Schema: string; Indexes: IndexDefinition[]; ObserverType: ReadModelObserverType; ObserverIdentifier: string; Owner: ReadModelOwner; Source: ReadModelSource; } export interface ReadModelOccurrence { ObserverId: string; Occurred: SerializableDateTimeOffset | undefined; Type: ReadModelType | undefined; ContainerName: string; RevertContainerName: string; } export interface ReadModelType { Identifier: string; Generation: number; } export interface RegisterManyRequest { EventStore: string; Owner: ReadModelOwner; ReadModels: ReadModelDefinition[]; Source: ReadModelSource; } export interface RegisterSingleRequest { EventStore: string; Owner: ReadModelOwner; ReadModel: ReadModelDefinition | undefined; Source: ReadModelSource; } export interface SerializableDateTimeOffset { Value: string; } export interface SinkDefinition { ConfigurationId: Guid | undefined; TypeId: string; } export interface UpdateDefinitionRequest { EventStore: string; ReadModel: ReadModelDefinition | undefined; } export interface WatchRequest { EventStore: string; Namespace: string; ReadModelIdentifier: string; EventSequenceId: string; } export declare const DehydrateSessionRequest: MessageFns; export declare const GetAllInstancesRequest: MessageFns; export declare const GetAllInstancesResponse: MessageFns; export declare const GetDefinitionsRequest: MessageFns; export declare const GetDefinitionsResponse: MessageFns; export declare const GetInstanceByKeyRequest: MessageFns; export declare const GetInstanceByKeyResponse: MessageFns; export declare const GetInstancesRequest: MessageFns; export declare const GetInstancesResponse: MessageFns; export declare const GetOccurrencesRequest: MessageFns; export declare const GetOccurrencesResponse: MessageFns; export declare const IndexDefinition: MessageFns; export declare const ObserveInstancesRequest: MessageFns; export declare const ObserveInstancesResponse: MessageFns; export declare const ReadModelChangeset: MessageFns; export declare const ReadModelDefinition: MessageFns; export declare const ReadModelOccurrence: MessageFns; export declare const ReadModelType: MessageFns; export declare const RegisterManyRequest: MessageFns; export declare const RegisterSingleRequest: MessageFns; export declare const SerializableDateTimeOffset: MessageFns; export declare const SinkDefinition: MessageFns; export declare const UpdateDefinitionRequest: MessageFns; export declare const WatchRequest: MessageFns; export type MaterializedReadModelsDefinition = typeof MaterializedReadModelsDefinition; export declare const MaterializedReadModelsDefinition: { readonly name: "MaterializedReadModels"; readonly fullName: "Cratis.Chronicle.Contracts.ReadModels.MaterializedReadModels"; readonly methods: { readonly getInstances: { readonly name: "GetInstances"; readonly requestType: typeof GetInstancesRequest; readonly requestStream: false; readonly responseType: typeof GetInstancesResponse; readonly responseStream: false; readonly options: {}; }; readonly observeInstances: { readonly name: "ObserveInstances"; readonly requestType: typeof ObserveInstancesRequest; readonly requestStream: false; readonly responseType: typeof ObserveInstancesResponse; readonly responseStream: true; readonly options: {}; }; }; }; export interface MaterializedReadModelsServiceImplementation { getInstances(request: GetInstancesRequest, context: CallContext & CallContextExt): Promise>; observeInstances(request: ObserveInstancesRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult>; } export interface MaterializedReadModelsClient { getInstances(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; observeInstances(request: DeepPartial, options?: CallOptions & CallOptionsExt): AsyncIterable; } export type ReadModelsDefinition = typeof ReadModelsDefinition; export declare const ReadModelsDefinition: { readonly name: "ReadModels"; readonly fullName: "Cratis.Chronicle.Contracts.ReadModels.ReadModels"; readonly methods: { readonly dehydrateSession: { readonly name: "DehydrateSession"; readonly requestType: typeof DehydrateSessionRequest; readonly requestStream: false; readonly responseType: typeof Empty; readonly responseStream: false; readonly options: {}; }; readonly getAllInstances: { readonly name: "GetAllInstances"; readonly requestType: typeof GetAllInstancesRequest; readonly requestStream: false; readonly responseType: typeof GetAllInstancesResponse; readonly responseStream: false; readonly options: {}; }; readonly getDefinitions: { readonly name: "GetDefinitions"; readonly requestType: typeof GetDefinitionsRequest; readonly requestStream: false; readonly responseType: typeof GetDefinitionsResponse; readonly responseStream: false; readonly options: {}; }; readonly getInstanceByKey: { readonly name: "GetInstanceByKey"; readonly requestType: typeof GetInstanceByKeyRequest; readonly requestStream: false; readonly responseType: typeof GetInstanceByKeyResponse; readonly responseStream: false; readonly options: {}; }; readonly getInstances: { readonly name: "GetInstances"; readonly requestType: typeof GetInstancesRequest; readonly requestStream: false; readonly responseType: typeof GetInstancesResponse; readonly responseStream: false; readonly options: {}; }; readonly getOccurrences: { readonly name: "GetOccurrences"; readonly requestType: typeof GetOccurrencesRequest; readonly requestStream: false; readonly responseType: typeof GetOccurrencesResponse; readonly responseStream: false; readonly options: {}; }; readonly registerMany: { readonly name: "RegisterMany"; readonly requestType: typeof RegisterManyRequest; readonly requestStream: false; readonly responseType: typeof Empty; readonly responseStream: false; readonly options: {}; }; readonly registerSingle: { readonly name: "RegisterSingle"; readonly requestType: typeof RegisterSingleRequest; readonly requestStream: false; readonly responseType: typeof Empty; readonly responseStream: false; readonly options: {}; }; readonly updateDefinition: { readonly name: "UpdateDefinition"; readonly requestType: typeof UpdateDefinitionRequest; readonly requestStream: false; readonly responseType: typeof Empty; readonly responseStream: false; readonly options: {}; }; readonly watch: { readonly name: "Watch"; readonly requestType: typeof WatchRequest; readonly requestStream: false; readonly responseType: typeof ReadModelChangeset; readonly responseStream: true; readonly options: {}; }; }; }; export interface ReadModelsServiceImplementation { dehydrateSession(request: DehydrateSessionRequest, context: CallContext & CallContextExt): Promise>; getAllInstances(request: GetAllInstancesRequest, context: CallContext & CallContextExt): Promise>; getDefinitions(request: GetDefinitionsRequest, context: CallContext & CallContextExt): Promise>; getInstanceByKey(request: GetInstanceByKeyRequest, context: CallContext & CallContextExt): Promise>; getInstances(request: GetInstancesRequest, context: CallContext & CallContextExt): Promise>; getOccurrences(request: GetOccurrencesRequest, context: CallContext & CallContextExt): Promise>; registerMany(request: RegisterManyRequest, context: CallContext & CallContextExt): Promise>; registerSingle(request: RegisterSingleRequest, context: CallContext & CallContextExt): Promise>; updateDefinition(request: UpdateDefinitionRequest, context: CallContext & CallContextExt): Promise>; watch(request: WatchRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult>; } export interface ReadModelsClient { dehydrateSession(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getAllInstances(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getDefinitions(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getInstanceByKey(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getInstances(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getOccurrences(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; registerMany(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; registerSingle(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; updateDefinition(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; watch(request: DeepPartial, options?: CallOptions & CallOptionsExt): AsyncIterable; } type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined; export type DeepPartial = T extends bigint ? string | number | bigint : T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; export type ServerStreamingMethodResult = { [Symbol.asyncIterator](): AsyncIterator; }; export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create(base?: DeepPartial): T; fromPartial(object: DeepPartial): T; } export {}; //# sourceMappingURL=readmodels.d.ts.map