import * as currentCart from '@wix/auto_sdk_ecom_current-cart'; export type LineItem = currentCart.LineItem; export type DescriptionLine = currentCart.DescriptionLine; export declare enum RuleType { NO_LIMIT = "NO_LIMIT", CHOOSE_ONE = "CHOOSE_ONE", CHOOSE_X = "CHOOSE_X", CHOOSE_AT_LEAST_ONE = "CHOOSE_AT_LEAST_ONE", CHOOSE_AT_LEAST_X = "CHOOSE_AT_LEAST_X", CHOOSE_UP_TO_X = "CHOOSE_UP_TO_X", CHOOSE_BETWEEN_X_AND_Y = "CHOOSE_BETWEEN_X_AND_Y" } export interface RuleTypeMap { [RuleType.NO_LIMIT]?: () => string; [RuleType.CHOOSE_ONE]?: () => string; [RuleType.CHOOSE_X]?: (x: number) => string; [RuleType.CHOOSE_AT_LEAST_ONE]?: () => string; [RuleType.CHOOSE_AT_LEAST_X]?: (x: number) => string; [RuleType.CHOOSE_UP_TO_X]?: (x: number) => string; [RuleType.CHOOSE_BETWEEN_X_AND_Y]?: (x: number, y: number) => string; } export declare enum AvailabilityStatus { AVAILABLE = 0, NOT_AVAILABLE = 1, OUT_OF_STOCK = 2, NEXT_AVAILABILITY_PICKUP = 3, NEXT_AVAILABILITY_DELIVERY = 4 } export type NextAvailability = AvailabilityStatus.NEXT_AVAILABILITY_PICKUP | AvailabilityStatus.NEXT_AVAILABILITY_DELIVERY; export type AvailabilityStatusWithActionObject = { startDateText?: (startDate: Date) => string; defaultText?: string; buttonText?: string; }; export type NoAvailabilityTextObject = { defaultText?: string; futureOptions?: { startDateText?: (startDate: Date) => string; dateRangeText?: (startDate: Date, endDate: Date) => string; weeklyScheduleText?: (weeklyAvailabilitySummary: WeeklyAvailability) => string; noFutureDatesText?: string; }; }; export type AvailabilityStatusObject = { text?: string; }; export type AvailabilityStatusMap = Partial, AvailabilityStatusObject>> & Record & Record; export declare enum AddToCartButtonState { ITEM_UNAVAILABLE = 0, OUT_OF_STOCK = 1, NOT_VALID = 2, EDITING = 3, VALID_TO_CONTINUE = 4 } export type AddToCartButtonLabelMap = Record; type Enumerate = Acc['length'] extends N ? Acc[number] : Enumerate; type IntRange = Exclude, Enumerate>; type HoursRange = IntRange<0, 24>; type MinutesRange = IntRange<0, 60>; interface TimeOfDay { hours: HoursRange; minutes: MinutesRange; } type AvailabilitySlot = { start: TimeOfDay; end: TimeOfDay; }; type DailyAvailability = { dayOfWeek: DayOfWeek; availabilities: AvailabilitySlot[]; }; declare enum DayOfWeek { SUNDAY = "SUNDAY", MONDAY = "MONDAY", TUESDAY = "TUESDAY", WEDNESDAY = "WEDNESDAY", THURSDAY = "THURSDAY", FRIDAY = "FRIDAY", SATURDAY = "SATURDAY" } export type WeeklyAvailability = { [K in DayOfWeek]: DailyAvailability; }; export type FutureAvailability = { startDate?: Date; endDate?: Date; weeklyAvailabilitySummary?: WeeklyAvailability; noFutureDates?: boolean; }; export {};