import type { Context } from "hono"; export declare const BOOKING_DRAFT_CAPABILITY_COOKIE = "voyant_booking_draft"; export declare const BOOKING_DRAFT_CAPABILITY_HEADER = "X-Voyant-Booking-Draft"; export declare const BOOKING_DRAFT_CAPABILITY_SCOPE = "booking-draft"; export declare const bookingDraftCapabilityActions: readonly ["draft:read", "draft:write", "draft:book"]; export type BookingDraftCapabilityAction = (typeof bookingDraftCapabilityActions)[number]; export declare function resolveBookingDraftCapabilitySecret(env: Record): string; export declare function resolveBookingDraftCapabilityTtlSeconds(env: Record): number; export declare function issueBookingDraftCapability(draftId: string, env: Record): Promise<{ token: string; payload: import("@voyant-travel/hono").PublicCapabilityPayload; expiresAt: Date; }>; /** Verify a token presented on the request. Throws when absent or wrong. */ export declare function requireBookingDraftCapability(c: Context, draftId: string, action: BookingDraftCapabilityAction, env: Record): Promise; /** * Verify a token supplied out-of-band — used by the booking-create path, where * the token arrives through the port rather than off this request. */ export declare function verifyBookingDraftCapabilityToken(token: string | undefined, draftId: string, action: BookingDraftCapabilityAction, env: Record): Promise; export declare function bookingDraftCapabilityCookie(token: string, expiresAt: Date): string;