import { BlueNode } from '@blue-labs/language'; import { ChannelContract, HandlerContract, MarkerContract, ProcessEmbeddedMarker, ChannelEventCheckpoint } from '../model/index.js'; import { ChannelContractEntry } from '../types/channel-contract-entry.js'; import { HandlerContractEntry } from '../types/handler-contract-entry.js'; import { MarkerContractEntry } from '../types/marker-contract-entry.js'; type StoredChannel = ChannelContractEntry; type StoredMarker = MarkerContractEntry; type StoredHandler = HandlerContractEntry; export declare class ChannelBinding { private readonly bindingKey; private readonly bindingContract; private readonly bindingBlueId; private readonly bindingNode; constructor(bindingKey: string, bindingContract: ChannelContract, bindingBlueId: string, bindingNode: BlueNode); key(): string; contract(): ChannelContract; blueId(): string; node(): BlueNode; order(): number; } export declare class HandlerBinding { private readonly bindingKey; private readonly bindingContract; private readonly bindingBlueId; private readonly bindingNode; constructor(bindingKey: string, bindingContract: HandlerContract, bindingBlueId: string, bindingNode: BlueNode); key(): string; contract(): HandlerContract; blueId(): string; node(): BlueNode; order(): number; } export declare class ContractBundle { private readonly channels; private readonly handlersByChannel; private readonly markerStore; private readonly embeddedPathsInternal; private checkpointDeclared; private constructor(); static fromComponents(channels: Map, handlersByChannel: Map, markerStore: Map, embeddedPaths: readonly string[], checkpointDeclared: boolean): ContractBundle; static builder(): ContractBundleBuilder; static empty(): ContractBundle; markers(): Map; marker(key: string): MarkerContract | undefined; markerEntries(): Array<[string, MarkerContract]>; embeddedPaths(): readonly string[]; hasCheckpoint(): boolean; registerCheckpointMarker(checkpoint: ChannelEventCheckpoint): void; handlersFor(channelKey: string): HandlerBinding[]; channelEntry(key: string): ChannelContractEntry | null; channelsOfType(...blueIds: readonly string[]): ChannelBinding[]; } export declare class ContractBundleBuilder { private readonly channels; private readonly handlersByChannel; private readonly markerStore; private embeddedPaths; private embeddedDeclared; private checkpointDeclared; addChannel(key: string, contract: ChannelContract, blueId: string, node: BlueNode): this; addHandler(key: string, contract: HandlerContract, blueId: string, node: BlueNode): this; setEmbedded(embedded: ProcessEmbeddedMarker): this; addMarker(key: string, contract: MarkerContract, blueId: string): this; build(): ContractBundle; } export {}; //# sourceMappingURL=contract-bundle.d.ts.map