import { Transaction, TransactionalDatabase } from '@platform-modules/db';
import { d as FulfillmentSchema, A as Address, i as Shipment, L as Label, C as CarrierTrackResult } from './schema-BKDZ5rS8.js';
import { C as CarrierAdapter, F as FulfillmentPorts } from './seams-DLXi9hfQ.js';
import '@platform-modules/commerce-orders';
import 'drizzle-orm/pg-core';

declare function createShipment(tx: Transaction<FulfillmentSchema>, input: {
    orderId: string;
    lineIds: string[];
    address: Address;
}): Promise<Shipment>;

declare function buyShippingLabel(db: TransactionalDatabase<FulfillmentSchema>, shipmentId: string, carrier: CarrierAdapter, idempotencyKey?: string): Promise<Label>;

declare function handleCarrierWebhook(ports: FulfillmentPorts, carrier: CarrierAdapter, req: Request): Promise<void>;

declare function trackShipment(db: TransactionalDatabase<FulfillmentSchema>, shipmentId: string, carrier: CarrierAdapter): Promise<CarrierTrackResult>;

export { CarrierAdapter, Label, Shipment, buyShippingLabel, createShipment, handleCarrierWebhook, trackShipment };
