import type { PendedDetermination, TerminalDetermination } from "./domain.mjs"; import type { X278ClientOptions } from "./sdk.mjs"; export interface X278SubscriptionEvent { readonly eventId: string; readonly subscription: string; readonly authId: string; readonly determination: TerminalDetermination; readonly deliveredAt: string; } export type X278SubscriptionPublishResult = "accepted" | "duplicate"; export interface X278SubscriptionBroker { readonly publish: (event: X278SubscriptionEvent) => Promise; readonly waitFor: (subscription: string, options?: { readonly timeoutMs?: number; }) => Promise; readonly seenEvents: () => ReadonlyArray; } export declare const createX278SubscriptionEvent: (pended: PendedDetermination, determination: TerminalDetermination, eventId?: string, deliveredAt?: string) => X278SubscriptionEvent; export declare const createX278SubscriptionBroker: () => X278SubscriptionBroker; export declare const awaitPendedWithSubscriptionBroker: (broker: X278SubscriptionBroker, options?: { readonly timeoutMs?: number; }) => NonNullable; //# sourceMappingURL=subscriptions.d.mts.map