import type { VoyantGraphActionDeclaration } from "@voyant-travel/core/project"; export declare const BOOKING_ACTION_DECLARATIONS: { readonly piiRead: { readonly id: "bookings-pii:read"; readonly version: "v1"; readonly resource: "booking_traveler"; readonly action: "read"; readonly risk: "high"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings-pii"; readonly action: "read"; }]; readonly graph: { readonly id: "booking.pii.read"; readonly kind: "sensitive-read"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly policy: "bookings-pii-scope-or-staff-v1"; }; }; readonly status: { readonly confirm: { readonly id: "bookings:status:confirm"; readonly action: "confirm"; readonly risk: "high"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.confirm"; readonly approval: "required"; readonly policy: "bookings-status-approval-v1"; readonly commandTargetField: "id"; readonly targetLifecycle: "existing"; readonly existingTarget: { readonly durability: "handler-command-result-v1"; }; readonly effectBoundary: "multistage"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/finance/tests/integration/booking-create.test.ts"; }; readonly from: { readonly tools: readonly ["@voyant-travel/bookings#tool.confirm-booking"]; readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly kind: "execute"; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly expire: { readonly id: "bookings:status:expire"; readonly action: "expire"; readonly graph: { readonly id: "booking.status.expire"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly cancel: { readonly id: "bookings:status:cancel"; readonly action: "cancel"; readonly risk: "critical"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.cancel"; readonly approval: "required"; readonly policy: "bookings-status-approval-v1"; readonly commandTargetField: "id"; readonly targetLifecycle: "existing"; readonly existingTarget: { readonly durability: "handler-command-result-v1"; }; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "multistage"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/finance/tests/integration/booking-create.test.ts"; }; readonly from: { readonly tools: readonly ["@voyant-travel/bookings#tool.cancel-booking"]; readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly kind: "execute"; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly start: { readonly id: "bookings:status:start"; readonly action: "start"; readonly graph: { readonly id: "booking.status.start"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly complete: { readonly id: "bookings:status:complete"; readonly action: "complete"; readonly graph: { readonly id: "booking.status.complete"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly override: { readonly id: "bookings:status:override"; readonly action: "override_status"; readonly risk: "high"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.override"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; }; readonly amendments: { readonly previewTravelerCorrection: { readonly id: "bookings:amendments:preview-traveler-correction"; readonly resource: "booking"; readonly action: "preview_traveler_correction_amendment"; readonly graph: { readonly id: "@voyant-travel/bookings#action.preview-traveler-correction-amendment"; readonly commandTargetField: "bookingId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly accept: { readonly id: "bookings:amendments:accept"; readonly resource: "booking-amendment"; readonly action: "accept"; readonly graph: { readonly id: "@voyant-travel/bookings#action.accept-booking-amendment"; readonly commandTargetField: "amendmentId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; readonly apply: { readonly id: "bookings:amendments:apply"; readonly resource: "booking-amendment"; readonly action: "apply"; readonly graph: { readonly id: "@voyant-travel/bookings#action.apply-booking-amendment"; readonly commandTargetField: "amendmentId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }; }; }; export declare const BOOKING_PII_READ_CAPABILITY: Omit<{ readonly id: "bookings-pii:read"; readonly version: "v1"; readonly resource: "booking_traveler"; readonly action: "read"; readonly risk: "high"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings-pii"; readonly action: "read"; }]; readonly graph: { readonly id: "booking.pii.read"; readonly kind: "sensitive-read"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly policy: "bookings-pii-scope-or-staff-v1"; }; }, "graph">; export declare const BOOKING_STATUS_CAPABILITIES: { readonly confirm: Omit<{ readonly id: "bookings:status:confirm"; readonly action: "confirm"; readonly risk: "high"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.confirm"; readonly approval: "required"; readonly policy: "bookings-status-approval-v1"; readonly commandTargetField: "id"; readonly targetLifecycle: "existing"; readonly existingTarget: { readonly durability: "handler-command-result-v1"; }; readonly effectBoundary: "multistage"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/finance/tests/integration/booking-create.test.ts"; }; readonly from: { readonly tools: readonly ["@voyant-travel/bookings#tool.confirm-booking"]; readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly kind: "execute"; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly expire: Omit<{ readonly id: "bookings:status:expire"; readonly action: "expire"; readonly graph: { readonly id: "booking.status.expire"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly cancel: Omit<{ readonly id: "bookings:status:cancel"; readonly action: "cancel"; readonly risk: "critical"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.cancel"; readonly approval: "required"; readonly policy: "bookings-status-approval-v1"; readonly commandTargetField: "id"; readonly targetLifecycle: "existing"; readonly existingTarget: { readonly durability: "handler-command-result-v1"; }; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "multistage"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/finance/tests/integration/booking-create.test.ts"; }; readonly from: { readonly tools: readonly ["@voyant-travel/bookings#tool.cancel-booking"]; readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly kind: "execute"; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly start: Omit<{ readonly id: "bookings:status:start"; readonly action: "start"; readonly graph: { readonly id: "booking.status.start"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly complete: Omit<{ readonly id: "bookings:status:complete"; readonly action: "complete"; readonly graph: { readonly id: "booking.status.complete"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly override: Omit<{ readonly id: "bookings:status:override"; readonly action: "override_status"; readonly risk: "high"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.override"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; }; export declare const BOOKING_AMENDMENT_CAPABILITIES: { readonly previewTravelerCorrection: Omit<{ readonly id: "bookings:amendments:preview-traveler-correction"; readonly resource: "booking"; readonly action: "preview_traveler_correction_amendment"; readonly graph: { readonly id: "@voyant-travel/bookings#action.preview-traveler-correction-amendment"; readonly commandTargetField: "bookingId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly accept: Omit<{ readonly id: "bookings:amendments:accept"; readonly resource: "booking-amendment"; readonly action: "accept"; readonly graph: { readonly id: "@voyant-travel/bookings#action.accept-booking-amendment"; readonly commandTargetField: "amendmentId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; readonly apply: Omit<{ readonly id: "bookings:amendments:apply"; readonly resource: "booking-amendment"; readonly action: "apply"; readonly graph: { readonly id: "@voyant-travel/bookings#action.apply-booking-amendment"; readonly commandTargetField: "amendmentId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">; }; export declare const BOOKING_ACTION_LEDGER_CAPABILITIES: readonly [Omit<{ readonly id: "bookings-pii:read"; readonly version: "v1"; readonly resource: "booking_traveler"; readonly action: "read"; readonly risk: "high"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings-pii"; readonly action: "read"; }]; readonly graph: { readonly id: "booking.pii.read"; readonly kind: "sensitive-read"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly policy: "bookings-pii-scope-or-staff-v1"; }; }, "graph">, ...(Omit<{ readonly id: "bookings:status:confirm"; readonly action: "confirm"; readonly risk: "high"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.confirm"; readonly approval: "required"; readonly policy: "bookings-status-approval-v1"; readonly commandTargetField: "id"; readonly targetLifecycle: "existing"; readonly existingTarget: { readonly durability: "handler-command-result-v1"; }; readonly effectBoundary: "multistage"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/finance/tests/integration/booking-create.test.ts"; }; readonly from: { readonly tools: readonly ["@voyant-travel/bookings#tool.confirm-booking"]; readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly kind: "execute"; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:status:expire"; readonly action: "expire"; readonly graph: { readonly id: "booking.status.expire"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:status:cancel"; readonly action: "cancel"; readonly risk: "critical"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.cancel"; readonly approval: "required"; readonly policy: "bookings-status-approval-v1"; readonly commandTargetField: "id"; readonly targetLifecycle: "existing"; readonly existingTarget: { readonly durability: "handler-command-result-v1"; }; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "multistage"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/finance/tests/integration/booking-create.test.ts"; }; readonly from: { readonly tools: readonly ["@voyant-travel/bookings#tool.cancel-booking"]; readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; readonly kind: "execute"; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:status:start"; readonly action: "start"; readonly graph: { readonly id: "booking.status.start"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:status:complete"; readonly action: "complete"; readonly graph: { readonly id: "booking.status.complete"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:status:override"; readonly action: "override_status"; readonly risk: "high"; readonly approvalPolicy: "conditional"; readonly graph: { readonly id: "booking.status.override"; readonly kind: "execute"; readonly from: { readonly routes: readonly ["@voyant-travel/bookings#api.admin"]; }; }; readonly version: "v1"; readonly resource: "booking"; readonly ledgerPolicy: "required"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff", "system"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:amendments:preview-traveler-correction"; readonly resource: "booking"; readonly action: "preview_traveler_correction_amendment"; readonly graph: { readonly id: "@voyant-travel/bookings#action.preview-traveler-correction-amendment"; readonly commandTargetField: "bookingId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:amendments:accept"; readonly resource: "booking-amendment"; readonly action: "accept"; readonly graph: { readonly id: "@voyant-travel/bookings#action.accept-booking-amendment"; readonly commandTargetField: "amendmentId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph"> | Omit<{ readonly id: "bookings:amendments:apply"; readonly resource: "booking-amendment"; readonly action: "apply"; readonly graph: { readonly id: "@voyant-travel/bookings#action.apply-booking-amendment"; readonly commandTargetField: "amendmentId"; readonly from: { tools: string[]; }; readonly kind: "execute"; readonly targetLifecycle: "existing"; readonly availability: { readonly status: "available"; }; readonly effectBoundary: "local"; readonly durability: { readonly strategy: "transactional"; readonly testReference: "packages/bookings/tests/integration/booking-amendments.test.ts"; }; }; readonly version: "v1"; readonly risk: "medium"; readonly ledgerPolicy: "required"; readonly approvalPolicy: "none"; readonly reversible: false; readonly allowedActorTypes: readonly ["staff"]; readonly requiredGrants: readonly [{ readonly resource: "bookings"; readonly action: "write"; }]; }, "graph">)[]]; export declare const BOOKING_VOYANT_ACTIONS: readonly [VoyantGraphActionDeclaration, ...VoyantGraphActionDeclaration[]];