import 'reflect-metadata'; import { Constructor } from '@cratis/fundamentals'; import type { IClientArtifactsProvider } from '../../../artifacts/index.js'; import { IProjectionBuilderFor } from '../../../projections/declarative/IProjectionBuilderFor.js'; import { IProjectionFor } from '../../../projections/declarative/IProjectionFor.js'; import type { ReadModelNamingPolicy } from '../../ReadModelNamingPolicy.js'; export declare class AccountOpened { owner: string; } export declare class AccountSummary { id: string; owner: string; } export declare class AccountSummaryProjection implements IProjectionFor { define(builder: IProjectionBuilderFor): void; } export declare class AccountBalance { id: string; owner: string; } export declare class AccountActivity { count: number; } export declare class AccountActivityReducer { accountOpened(_event: AccountOpened, current: AccountActivity | undefined): AccountActivity; } /** Container name a policy that upper-cases the identifier and reports the class it was given. */ export declare const upperCasePolicy: ReadModelNamingPolicy; /** Identifies the class handed to the policy, or `none` when the read model has no class. */ export declare const classNamePolicy: ReadModelNamingPolicy; export interface RegisteredReadModel { identifier: string; containerName: string; displayName: string; } /** Registers a declarative projection through {@link Projections} and returns what reached the kernel. */ export declare function registerDeclarativeProjection(policy?: ReadModelNamingPolicy): Promise; /** Registers a model-bound projection through {@link Projections} and returns what reached the kernel. */ export declare function registerModelBoundProjection(policy?: ReadModelNamingPolicy): Promise; /** Registers a reducer's read model through {@link Reducers} and returns what reached the kernel. */ export declare function registerReducer(policy?: ReadModelNamingPolicy): Promise; /** Registers read models directly through {@link ReadModels.register} and returns what reached the kernel. */ export declare function registerDirectly(readModelType: Constructor, artifactOverrides: Partial, policy?: ReadModelNamingPolicy): Promise; export declare const directProjection: (policy?: ReadModelNamingPolicy) => Promise; export declare const directModelBound: (policy?: ReadModelNamingPolicy) => Promise; export declare const directReducer: (policy?: ReadModelNamingPolicy) => Promise; //# sourceMappingURL=registered_read_models.d.ts.map