export type DurableTripActionKind = "price-trip" | "reserve-trip"; export interface DurableTripActionCommand { readonly operationId: string; readonly action: DurableTripActionKind; readonly idempotencyKey: string; readonly requestFingerprint: string; readonly targetId: string; readonly input: Readonly>; } export interface DurableTripActionResult { readonly backendIdentity: string; readonly providerOperationId: string; readonly outcome: Readonly>; } export interface DurableTripActionCapability { readonly protocol: "trips-provider-idempotency-v1"; readonly backendIdentity: string; execute(command: DurableTripActionCommand): Promise; reconcile(command: DurableTripActionCommand): Promise; } export interface DurableTripActionProbe { readonly beforeRestart: DurableTripActionCapability; readonly afterRestart: DurableTripActionCapability; acceptedCount(idempotencyKey: string): number; } /** * Exact selected provider capability for Trips pricing and reservation. * * The framework deliberately ships no implementation. A deployment can select * this port only when its composed catalog/flight backend has crash-safe * idempotency and reconciliation for the entire Trip operation. */ export interface DurableTripActionRuntime { readonly price: DurableTripActionCapability; readonly reserve: DurableTripActionCapability; createIsolatedProbe(action: DurableTripActionKind): Promise; } export declare const durableTripActionRuntimePort: import("@voyant-travel/core/project").VoyantPort; export declare function assertDurableTripActionResult(capability: DurableTripActionCapability, command: DurableTripActionCommand, result: DurableTripActionResult): void;