1
2class ShippingFacade {
3 async ship(order: Order): Promise<ShipmentResult> { }
4 async track(trackingNumber: string): Promise<TrackingInfo> { }
5 async estimateDelivery(from: Address, to: Address): Promise<Date> { }
6 async getRates(from: Address, to: Address, weight: number): Promise<Rate[]> { }
7}
8
9
10const shipping = new ShippingFacade();
11const result = await shipping.ship(order);