import * as operationsSDK from '@wix/auto_sdk_restaurants_operations'; import { DispatchesInfo, TimeSlot } from '../types/fulfillments-types.js'; import { Operation } from '../types/operation.js'; import * as fulfillemtMethodsSDK from '@wix/auto_sdk_restaurants_fulfillment-methods'; import { FulfillmentDetails } from '@wix/auto_sdk_restaurants_operations'; export { convertTimeOfDayToDateTime, convertDateToTimezone, formatDateInTimezone, formatTime, formatTimeRange, getDatePartsInTimezone, buildDateFromParts, isInTimeRange, DAY_OF_WEEK, DayOfWeek, getDayOfWeekNumber, TimeOfDay, TimeOfDayRange, getLocale, getTimezone, } from './date-utils.js'; /** * Format a string with placeholders like {0}, {1}, etc. * Similar to C#'s String.Format * * @example * stringFormat("Hello {0}, you have {1} messages", "John", 5) * // Returns: "Hello John, you have 5 messages" * * @example * stringFormat("{0} + {1} = {2}", 1, 2, 3) * // Returns: "1 + 2 = 3" */ export declare const stringFormat: (template: string, ...args: (string | number | boolean | null | undefined)[]) => string; export declare const createTimeSlotId: (startTime: Date, endTime: Date, maxTimeOptions?: number) => string; export declare function hasSameByField(field: keyof T, arr: T[]): boolean; export declare function getMinValueObjects(key: keyof T, arr: T[]): T[]; export declare function getMinTime(info: operationsSDK.FulfillmentInfo): number; export declare function getFastestTimeOptionsByFulfillmentInfo(arr: operationsSDK.FulfillmentInfo[]): operationsSDK.FulfillmentInfo[]; export declare function getSlowestTimeOptionByFulfillmentInfo(arr: operationsSDK.FulfillmentInfo[]): operationsSDK.FulfillmentInfo; export declare const createTimeRangeByFulfillmentInfo: (arr: operationsSDK.FulfillmentInfo[]) => { maxTimeOptions: number | undefined; durationRangeOptions?: undefined; } | { durationRangeOptions: { minDuration: number | undefined; maxDuration: number | undefined; }; maxTimeOptions?: undefined; }; export declare function hasSameTime(arr: operationsSDK.FulfillmentDetails[]): boolean; export declare const resolveDifferentMinOrderPriceOptionByFulfillmentInfo: (fulfillmentInfo: operationsSDK.FulfillmentInfo[]) => operationsSDK.FulfillmentInfo | undefined; export declare const resolveSameMinOrderPriceOptionByFulfillmentInfo: (fulfillmentInfo: operationsSDK.FulfillmentInfo[]) => operationsSDK.FulfillmentInfo; export declare const resolveFulfillmentInfo: (fulfillmentInfo: operationsSDK.FulfillmentInfo[]) => operationsSDK.FulfillmentInfo | undefined; export declare const processFulfillmentTimeSlotByOperationList: (operationTimeSlot: operationsSDK.TimeSlotForOperation) => [string, TimeSlot[] | undefined]; export declare function getFastestTimeOptions(arr: FulfillmentDetails[]): FulfillmentDetails[]; export declare function getSlowestTimeOption(arr: FulfillmentDetails[]): FulfillmentDetails; export declare const createTimeRange: (arr: FulfillmentDetails[]) => { maxTimeOptions: number | undefined; durationRangeOptions?: undefined; } | { durationRangeOptions: { minDuration: number | undefined; maxDuration: number | undefined; }; maxTimeOptions?: undefined; }; export declare const processFulfillments: (fulfillments: fulfillemtMethodsSDK.FulfillmentMethod[], timeSlots: TimeSlot[], operation: Operation) => { dispatchesInfo: DispatchesInfo; isPickupConfigured: boolean; isDeliveryConfigured: boolean; } | undefined;