import { type ChannelCredentials } from '@grpc/grpc-js'; import type { IChronicleLogger } from '../logging/IChronicleLogger.js'; import { type ConnectionServiceClient } from '@cratis/chronicle.contracts'; import { ChronicleConnectionString } from './ChronicleConnectionString.js'; import { ChronicleServices } from './ChronicleServices.js'; import './encodeExplicitFalse.js'; /** * Configuration options for Chronicle connection. */ export interface ChronicleConnectionOptions { /** Optional client-owned diagnostic sink; absent preserves the diag adapter. */ logger?: IChronicleLogger; /** * The connection string used to connect to Chronicle. */ connectionString?: string | ChronicleConnectionString; /** * The host and port of the Chronicle server. Used if connectionString is not provided. */ serverAddress?: string; /** * Optional gRPC credentials. Defaults to credentials based on the connection string. */ credentials?: ChannelCredentials; /** * Optional connection timeout in milliseconds. Defaults to 10000. */ connectTimeout?: number; /** * Optional maximum receive message size in bytes. */ maxReceiveMessageSize?: number; /** * Optional maximum send message size in bytes. */ maxSendMessageSize?: number; /** * Optional correlation ID for tracking requests. */ correlationId?: string; /** * Optional authentication authority URL. If not set, uses the Chronicle server itself. */ authority?: string; } /** * Manages the gRPC connection to Chronicle and exposes the generated service clients. */ export declare class ChronicleConnection implements ChronicleServices { private readonly _options; private _channel; private _services; private _connections; private _compatibility; private readonly _connectionString; private readonly _tokenProviders; private readonly _addressResolver; private readonly _loadBalancerStrategy; private _isConnected; private _clientsReady; constructor(_options: ChronicleConnectionOptions); /** The diagnostic sink shared by services owned by this connection. */ get logger(): IChronicleLogger | undefined; get connectionString(): ChronicleConnectionString; get isConnected(): boolean; get eventStores(): import("@cratis/chronicle.contracts").EventStoresClient<{}>; get namespaces(): import("@cratis/chronicle.contracts").NamespacesClient<{}>; get recommendations(): import("@cratis/chronicle.contracts").RecommendationsClient<{}>; get identities(): import("@cratis/chronicle.contracts").IdentitiesClient<{}>; get eventSequences(): import("@cratis/chronicle.contracts").EventSequencesClient<{}>; get eventSources(): import("@cratis/chronicle.contracts").EventSourcesClient<{}>; get eventTypes(): import("@cratis/chronicle.contracts").EventTypesClient<{}>; get constraints(): import("@cratis/chronicle.contracts").ConstraintsClient<{}>; get observers(): import("@cratis/chronicle.contracts").ObserversClient<{}>; get eventStoreSubscriptions(): import("../eventStoreSubscriptions/contracts.js").EventStoreSubscriptionsClient<{}>; get failedPartitions(): import("@cratis/chronicle.contracts").FailedPartitionsClient<{}>; get reactors(): import("@cratis/chronicle.contracts").ReactorsClient<{}>; get reducers(): import("@cratis/chronicle.contracts").ReducersClient<{}>; get projections(): import("@cratis/chronicle.contracts").ProjectionsClient<{}>; get readModels(): import("@cratis/chronicle.contracts").ReadModelsClient<{}>; get readModelExplorer(): import("@cratis/chronicle.contracts").ReadModelExplorerClient<{}>; get materializedReadModels(): import("@cratis/chronicle.contracts").MaterializedReadModelsClient<{}>; get jobs(): import("@cratis/chronicle.contracts").JobsClient<{}>; get patterns(): import("@cratis/chronicle.contracts").PatternsClient<{}>; get webhooks(): import("@cratis/chronicle.contracts").WebhooksClient<{}>; get eventSeeding(): import("@cratis/chronicle.contracts").EventSeedingClient<{}>; get server(): import("@cratis/chronicle.contracts").ServerClient<{}>; get compliance(): import("../compliance/ComplianceContracts.js").ComplianceClient<{}>; get externalServices(): import("@cratis/chronicle.contracts").ExternalServicesClient<{}>; get connections(): ConnectionServiceClient; connect(): Promise; resetChannel(): Promise; reconnect(): Promise; disconnect(): void; dispose(): void; private createClients; private createTokenProvider; private createOAuthTokenProvider; private createAuthMiddleware; } //# sourceMappingURL=ChronicleConnection.d.ts.map