import { IClientArtifactsProvider } from './artifacts/index.js'; import { ChronicleConnectionString } from './connection/index.js'; import type { ReactorResultHandler } from './reactors/ReactorResultHandler.js'; import type { ClientArtifactsActivator } from './artifacts/ClientArtifactsActivator.js'; import type { ReadModelNamingPolicy } from './readModels/ReadModelNamingPolicy.js'; import type { ChronicleTelemetryOptions } from './telemetry/ChronicleTelemetryOptions.js'; import type { IChronicleLogger } from './logging/IChronicleLogger.js'; type ChronicleOptionsFactoryParams = { telemetry?: ChronicleTelemetryOptions; logger?: IChronicleLogger; clientArtifactsProvider?: IClientArtifactsProvider; discoveryPatterns?: string[]; defaultSinkTypeId?: string; reactorResultHandler?: ReactorResultHandler; artifactActivator?: ClientArtifactsActivator; readModelNamingPolicy?: ReadModelNamingPolicy; maxReceiveMessageSize?: number | null; maxSendMessageSize?: number | null; }; /** * Represents configuration options for the Chronicle client. */ export declare class ChronicleOptions { /** Per-client telemetry privacy settings. Event source identifiers are omitted by default. */ readonly telemetry?: ChronicleTelemetryOptions; /** Application diagnostic sink. Absent uses the OpenTelemetry diag compatibility adapter. */ readonly logger?: IChronicleLogger; /** * The connection string used to connect to the Chronicle Kernel. */ readonly connectionString: ChronicleConnectionString; /** * The program identifier used in causation metadata. */ readonly programIdentifier: string; /** * The software version used in causation metadata. */ readonly softwareVersion: string; /** * The software commit hash used in causation metadata. */ readonly softwareCommit: string; /** * The provider used for client artifact discovery. */ readonly clientArtifactsProvider: IClientArtifactsProvider; /** * Glob patterns used to discover artifact files at startup. * Patterns prefixed with '!' are treated as exclusions. * By default, TypeScript entry files (.ts, .tsx, .mts, .cts) or TypeScript runtimes scan TypeScript sources; * compiled JavaScript entry files do not scan (imported modules register their artifacts). * Explicit patterns are used regardless of the entry file. Set to an empty array to * disable automatic file discovery. */ readonly discoveryPatterns: string[]; /** * The default sink type identifier used when registering projections, reducers and read models. * Defaults to {@link WellKnownSinks.MongoDB}. Set to {@link WellKnownSinks.SQL} to persist read * models into a SQL database. */ readonly defaultSinkTypeId: string; /** Optional handler for application-owned reactor returns, installed before observations begin. */ readonly reactorResultHandler?: ReactorResultHandler; /** Optional per-delivery reactor/reducer activator; absent means one instance per observation stream. */ readonly artifactActivator?: ClientArtifactsActivator; /** * Optional policy that names the container (collection, table, or file) each read model is stored in. * It changes only the container name sent at registration; read model identifiers are unchanged. * Absent means the container is named by the read model identifier. Arc's MongoDB integration * reads collections through its own naming policy, so supply a policy that yields the same names. */ readonly readModelNamingPolicy?: ReadModelNamingPolicy; /** * The largest gRPC message, in bytes, the client accepts from the kernel. Defaults to 100 MB, matching the * other Chronicle clients. `null` leaves it at gRPC's own default of 4 MB, which is not recommended. */ readonly maxReceiveMessageSize: number | null; /** * The largest gRPC message, in bytes, the client sends to the kernel. Defaults to 100 MB, matching the * other Chronicle clients. `null` leaves it at gRPC's own default. */ readonly maxSendMessageSize: number | null; private constructor(); /** The default maximum gRPC message size in bytes: 100 MB. */ static readonly defaultMaxMessageSize: number; private static defaultDiscoveryPatterns; /** * Creates a {@link ChronicleOptions} instance from a connection string. * @param connectionString - The connection string to parse and use. * @returns A new ChronicleOptions instance. */ static fromConnectionString(connectionString: string | ChronicleConnectionString, options?: ChronicleOptionsFactoryParams): ChronicleOptions; /** * Creates a {@link ChronicleOptions} instance for local development. * Connects to Chronicle on localhost:35000 using the standard development * client credentials, matching the default Chronicle development server * configuration. The Chronicle server requires TLS on its single port, so * this connects over TLS against the server's self-signed development * certificate. * @returns A new ChronicleOptions instance for development. */ static development(options?: ChronicleOptionsFactoryParams): ChronicleOptions; } export {}; //# sourceMappingURL=ChronicleOptions.d.ts.map