import { IToastOauthPartnerToken, ToastAppliedServiceCharge, ToastDiningOption, ToastPayment, ToastRequiredReference } from '../../../toast/interface'; import { IVendor, IVendorMath, IVendorMetadata, IVendorOldMath, VendorProviderEnum } from '../vendor.interface'; export interface IToastVendorMetadata extends IVendorMetadata { restaurantNumber: string; restaurantExternalId: typeof ToastRequiredReference.prototype.guid; diningOptions: { behaviors: { delivery: typeof ToastDiningOption.prototype.guid; takeOut: typeof ToastDiningOption.prototype.guid; }; }; otherPayment: { cash: typeof ToastPayment.prototype.otherPayment.guid; credit: typeof ToastRequiredReference.prototype.guid; }; serviceCharges: { deliveryFee: typeof ToastAppliedServiceCharge.prototype.guid; }; sendOrderNumber?: boolean; s3: { /** AWS access key ID. */ accessKeyId: string; /** AWS secret access key. */ secretAccessKey: string; /** Username from lastpass S3 Creds as Merchant folder. for example BareBurgerExport */ userName: string; }; } export interface IToastVendorMath extends IVendorMath { strategy: VendorProviderEnum.TOAST; } export interface IToastVendor extends IVendor { provider: VendorProviderEnum.TOAST; metadata: IToastVendorMetadata; math: IToastVendorMath | IVendorOldMath; } export interface IToastVendorTokenInfo extends IToastOauthPartnerToken {}