import type { FulfillmentOrder } from "../core/fulfillment"; import type { PaymentRefund } from "../core/payment"; import type { CommerceDb } from "./queries"; import { commerceStorefrontOrderActions, commerceStorefrontOrderEvents, commerceStorefrontOrders } from "./index"; export type StorefrontOrderEventKind = "cancelled_refunded" | "fulfillment_failed" | "fulfillment_submitted" | "payment_confirmed" | "returned_refunded" | "shipped"; export type StorefrontOrderAction = typeof commerceStorefrontOrderActions.$inferSelect; export type StorefrontOrderEvent = typeof commerceStorefrontOrderEvents.$inferSelect; export type StorefrontOrder = typeof commerceStorefrontOrders.$inferSelect; export declare class StorefrontOrderError extends Error { readonly code: "action_disabled" | "action_not_found" | "action_not_retryable" | "cancellation_not_allowed" | "order_access_denied" | "order_not_found" | "refund_not_allowed"; constructor(code: "action_disabled" | "action_not_found" | "action_not_retryable" | "cancellation_not_allowed" | "order_access_denied" | "order_not_found" | "refund_not_allowed"); } export declare const storefrontOrderAccessTokenHash: (token: string) => string; export declare const emitStorefrontOrderEvent: (db: CommerceDb, input: { kind: StorefrontOrderEventKind; orderId: string; ownerKey: string; payload?: Record; }) => Omit>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "number int32"; data: number; driverParam: string | number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; created_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetIsPrimaryKey>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string uuid"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; kind: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; last_error: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; lease_expires_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; next_attempt_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; notified_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; order_id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string uuid"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; owner_key: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; payload: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault, Record>>>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "custom"; data: Record; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; status: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; worker_id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; }; dialect: "pg"; }> & { attempts: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "number int32"; data: number; driverParam: string | number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; created_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetIsPrimaryKey>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string uuid"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; kind: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; last_error: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; lease_expires_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; next_attempt_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; notified_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; order_id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string uuid"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; owner_key: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; payload: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault, Record>>>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "custom"; data: Record; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; status: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; worker_id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; } & { readonly $inferSelect: { id: string; created_at: Date; status: string; kind: string; owner_key: string; updated_at: Date; last_error: string | null; attempts: number; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; worker_id: string | null; notified_at: Date | null; payload: Record; }; readonly $inferInsert: { kind: string; owner_key: string; order_id: string; id?: string | undefined; created_at?: Date | undefined; status?: string | undefined; updated_at?: Date | undefined; last_error?: string | null | undefined; attempts?: number | undefined; lease_expires_at?: Date | null | undefined; next_attempt_at?: Date | null | undefined; worker_id?: string | null | undefined; notified_at?: Date | null | undefined; payload?: Record | undefined; }; } & { enableRLS: () => Omit>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "number int32"; data: number; driverParam: string | number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; created_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetIsPrimaryKey>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string uuid"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; kind: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; last_error: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTextBuilder<[string, ...string[]]>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; lease_expires_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; next_attempt_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; notified_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgTimestampBuilder, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; order_id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string uuid"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; owner_key: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetNotNull>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; payload: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault, Record>>>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "custom"; data: Record; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; status: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; updated_at: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").SetHasDefault>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "object date"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; worker_id: import("drizzle-orm/pg-core").PgBuildColumn<"commerce_storefront_order_events", import("drizzle-orm/pg-core").PgVarcharBuilder<[string, ...string[]]>, { name: string; tableName: "commerce_storefront_order_events"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; identity: undefined; generated: undefined; }>; }; dialect: "pg"; }>, "enableRLS">; }, any, undefined, undefined, false, "onConflictDoNothing" | "onConflictDoUpdate">, "onConflictDoNothing" | "onConflictDoUpdate">; export declare const createStorefrontOrderService: (options: { actionsEnabled?: boolean; cancelFulfillment: (input: { installationId: string; ownerKey: string; providerOrderId: string; }) => Promise; db: CommerceDb; leaseMs?: number; notificationsEnabled?: boolean; notify: (input: { event: StorefrontOrderEvent; idempotencyKey: string; order: StorefrontOrder; }) => Promise; now?: () => Date; refundPayment: (input: { idempotencyKey: string; installationId: string; ownerKey: string; providerRefundId?: string; providerSessionId: string; }) => Promise; retryMs?: number; }) => { listFleet: () => Promise<{ actions: { attempts: number; case_id: string | null; completed_at: Date | null; created_at: Date; fulfillment_result: FulfillmentOrder | null; id: string; idempotency_key: string; last_error: string | null; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; owner_key: string; payment_refund: Record | null; phase: string; reason: string; requested_by: string; status: string; type: string; updated_at: Date; worker_id: string | null; }[]; events: { attempts: number; created_at: Date; id: string; kind: string; last_error: string | null; lease_expires_at: Date | null; next_attempt_at: Date | null; notified_at: Date | null; order_id: string; owner_key: string; payload: Record; status: string; updated_at: Date; worker_id: string | null; }[]; orders: { lines: import("..").ResolvedStorefrontCartLine[]; id: string; created_at: Date; status: string; customer_email: string | null; amount_cents: number; currency: string; shipping: import("..").Address | null; owner_key: string; updated_at: Date; catalog_id: string; customer_name: string | null; installation_id: string; intent_id: string; provider_session_id: string; provider_payment_id: string | null; }[]; }>; listOwner: (ownerKey: string) => Promise<{ actions: { attempts: number; case_id: string | null; completed_at: Date | null; created_at: Date; fulfillment_result: FulfillmentOrder | null; id: string; idempotency_key: string; last_error: string | null; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; owner_key: string; payment_refund: Record | null; phase: string; reason: string; requested_by: string; status: string; type: string; updated_at: Date; worker_id: string | null; }[]; events: { attempts: number; created_at: Date; id: string; kind: string; last_error: string | null; lease_expires_at: Date | null; next_attempt_at: Date | null; notified_at: Date | null; order_id: string; owner_key: string; payload: Record; status: string; updated_at: Date; worker_id: string | null; }[]; orders: { lines: import("..").ResolvedStorefrontCartLine[]; id: string; created_at: Date; status: string; customer_email: string | null; amount_cents: number; currency: string; shipping: import("..").Address | null; owner_key: string; updated_at: Date; catalog_id: string; customer_name: string | null; installation_id: string; intent_id: string; provider_session_id: string; provider_payment_id: string | null; }[]; }>; lookup: (ownerKey: string, input: { accessToken: string; checkoutIntentId: string; }) => Promise<{ checkoutStatus: string; order: { amountCents: number; createdAt: Date; currency: string; customerEmail: string | null; customerName: string | null; id: string; lines: import("..").ResolvedStorefrontCartLine[]; shipping: import("..").Address | null; status: string; tracking: import("..").FulfillmentTracking[]; updatedAt: Date; } | null; }>; quarantineAction: (ownerKey: string, actionId: string, reason: string) => Promise<{ attempts: number; case_id: string | null; completed_at: Date | null; created_at: Date; fulfillment_result: FulfillmentOrder | null; id: string; idempotency_key: string; last_error: string | null; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; owner_key: string; payment_refund: Record | null; phase: string; reason: string; requested_by: string; status: string; type: string; updated_at: Date; worker_id: string | null; }>; requestCancellation: (input: { idempotencyKey: string; orderId: string; ownerKey: string; reason: string; requestedBy: string; }) => Promise<{ id: string; created_at: Date; status: string; reason: string; type: string; owner_key: string; updated_at: Date; last_error: string | null; attempts: number; case_id: string | null; completed_at: Date | null; fulfillment_result: FulfillmentOrder | null; idempotency_key: string; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; payment_refund: Record | null; phase: string; requested_by: string; worker_id: string | null; }>; requestRefund: (input: { caseId: string; idempotencyKey: string; orderId: string; ownerKey: string; reason: string; requestedBy: string; }) => Promise<{ id: string; created_at: Date; status: string; reason: string; type: string; owner_key: string; updated_at: Date; last_error: string | null; attempts: number; case_id: string | null; completed_at: Date | null; fulfillment_result: FulfillmentOrder | null; idempotency_key: string; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; payment_refund: Record | null; phase: string; requested_by: string; worker_id: string | null; }>; retryAction: (ownerKey: string, actionId: string) => Promise<{ attempts: number; case_id: string | null; completed_at: Date | null; created_at: Date; fulfillment_result: FulfillmentOrder | null; id: string; idempotency_key: string; last_error: string | null; lease_expires_at: Date | null; next_attempt_at: Date | null; order_id: string; owner_key: string; payment_refund: Record | null; phase: string; reason: string; requested_by: string; status: string; type: string; updated_at: Date; worker_id: string | null; }>; runActionCycle: (workerId: string, limit?: number) => Promise<({ actionId: string; status: "complete"; } | { actionId: string; status: "rejected"; } | { actionId: string; status: "pending"; } | { actionId: string; status: "quarantined"; })[]>; runNotificationCycle: (workerId: string, limit?: number) => Promise<{ eventId: string; status: string; }[]>; }; export type StorefrontOrderService = ReturnType;