import { ReadModelObserverType } from '@cratis/chronicle.contracts'; import type { ReadModelNamingPolicy } from './ReadModelNamingPolicy.js'; interface ReadModelDefinitionOptions { identifier: string; schema: string; type?: Function; sinkTypeId: string; observerType: ReadModelObserverType; observerIdentifier: string; /** Chooses the container name. Absent means the container is named by the identifier. */ namingPolicy?: ReadModelNamingPolicy; } /** Builds the registration payload shared by projections, reducers, and direct read-model registration. */ export declare function buildReadModelDefinition(options: ReadModelDefinitionOptions): { Type: { Identifier: string; Generation: number; }; ContainerName: string; DisplayName: string; Sink: { ConfigurationId: import("@cratis/chronicle.contracts").Guid; TypeId: string; }; Schema: string; Indexes: import("@cratis/chronicle.contracts").IndexDefinition[]; ObserverType: ReadModelObserverType; ObserverIdentifier: string; Owner: number; Source: number; }; export {}; //# sourceMappingURL=buildReadModelDefinition.d.ts.map