import * as msw from 'msw';
import { RequestHandler, PathParams, HttpResponse } from 'msw';
import { Voucher } from '@spartacus/cart/base/root';
import * as _spartacus_core from '@spartacus/core';
import { Occ, Page as Page$1, OccConfig, BackendConfig, TranslationResources, NotificationPreference, NotificationPreferenceList, AuthToken, CmsResponsiveBannerComponentMedia, SortModel } from '@spartacus/core';

declare module '@spartacus/core' {
    namespace Occ {
        interface Component {
            uuid?: string;
            linkName?: string;
            url?: string;
            target?: string;
            external?: boolean;
            contentPage?: string;
            contentPageLabelOrId?: string;
            [key: string]: string | boolean | object | undefined;
        }
        interface ContentSlot {
            slotUuid?: string;
        }
    }
}
interface Pages {
    [key: string]: Occ.CMSPage;
}
interface ActiveCartEntry {
    code: string;
    quantity: number;
}
interface LocalStorageMockData {
    activeCartEntries: ActiveCartEntry[];
    activeVouchers: Voucher[];
    isGuestCheckout: boolean;
}
declare const LOCAL_STORAGE_KEY = "spartacus\u26BF\u26BFmock-data";
interface Page extends Page$1 {
    uid?: string;
    uuid?: string;
}
interface ContentSlot extends Occ.ContentSlot {
    slotId?: string;
    slotUuid?: string;
}
interface Component extends Occ.Component {
    uuid: string;
    [key: string]: string | boolean | object | undefined;
}
interface CmsComponentAdditionalData {
    [key: string]: string | boolean | object | undefined;
}
interface ContentPages {
    [key: string]: Page;
}
interface Environment extends OccConfig {
    backend: BackendConfig;
}
interface MockRequest {
    url: string;
    requestFunction: 'get' | 'post' | 'put' | 'delete' | 'head';
}
interface MockConfig {
    enableWorker: boolean;
    environment: Environment;
    enableDefaultData?: boolean;
    passThroughRequests?: MockRequest[];
    handlers?: RequestHandler[];
    contentPages?: ContentPages;
    productDetailPage?: Page;
    productCategoryPage?: Page;
    homePage?: Page;
    customSlots?: Occ.ContentSlot[];
    translations?: TranslationResources;
    inclusionMode?: boolean;
    mockedRequests?: MockRequest[];
    mockedPageIds?: string[];
    quiet?: boolean;
    debug?: boolean;
}
interface ProductSearchPageModifier {
    query?: string;
    pageSize?: number;
    sort?: string;
    currentPage?: number;
}
interface SearchStateModifier {
    query?: string;
    activeSort?: string;
}
interface FacetValueModifier extends SearchStateModifier {
}
interface ProductReferenceListModifier {
    referenceType?: string;
}
interface ImageModifier {
    width?: number;
    height?: number;
}
interface PriceModifier {
    valueMin?: number;
    valueMax?: number;
}
interface TranslationChunks {
    address?: object;
    common?: object;
    myAccount?: object;
    payment?: object;
    product?: object;
    pwa?: object;
    user?: object;
    video?: object;
    pdf?: object;
    cart?: object;
    importExport?: object;
    quickOrder?: object;
    savedCart?: object;
    wishlist?: object;
    checkout?: object;
    order?: object;
    bulkPricing?: object;
    productImageZoom?: object;
    storeFinder?: object;
    userAccount?: object;
    userProfile?: object;
}

declare function prepareMock(config: MockConfig): Promise<ServiceWorkerRegistration | undefined>;

declare const readUrlParams: (params: PathParams<string>, paramName: string) => string;
declare const readSearchParams: (request: Request, param: string) => string | undefined;

declare function redirect(destination: string, statusCode: number): HttpResponse<msw.DefaultBodyType>;

/**
 * Returns the default routes for Spartacus Mock Server
 * @param environment
 */
declare function getDefaultRoutes(environment: Environment): {
    /**
     * General Calls ***************************************************************************************************
     */
    /**
     * Route for the baseSites call being done by spartacus on application startup
     */
    baseSites: string;
    /**
     * Route for the languages call being done by spartacus on application startup
     */
    languages: string;
    /**
     * Route for the currencies call being done by spartacus on application startup
     */
    currencies: string;
    /**
     * Route for the titles call being done by spartacus when showing the address form
     */
    titles: string;
    /**
     * Route for the countries call being done by spartacus when showing the address form
     */
    countries: string;
    /**
     * Route for the regions call being done by spartacus when showing the address form
     */
    regions: string;
    /**
     *  Route for the i18n call to load the translations from the backend when having i18n lazy loading activated
     *  Url is defined as <occ-base-url>/<occ-prefix>/i18n/${language}/${namespace} and can be overridden via
     *  option i18nEndpoint of the spartacus-mock options
     */
    i18n: string;
    /**
     * User related calls **********************************************************************************************
     */
    /**
     * Route for the login call to the authorizationserver
     */
    authLogin: string;
    /**
     * Route for the logout call to the authorizationserver
     */
    authRevoke: string;
    /**
     * Route for the users call to create a new user during registration
     */
    users: string;
    /**
     * Route for the user call to get the user details after login
     */
    user: string;
    /**
     * Route for the call to get the user details
     * call somehow needed and done without baseSite sometimes
     */
    userTemp: string;
    /**
     * Route for the call to get the consent templates for the current user
     */
    consentTemplates: string;
    /**
     * Route for the call to get the consent templates for the current user
     */
    anonymousConsentTemplates: string;
    /**
     * Route for the call to get the notification preferences for the current user
     */
    notificationPreferences: string;
    /**
     * Route for the call to get the product interests for the current user
     */
    productInterests: string;
    /**
     * Route for the call to get the customer coupons for the current user
     */
    customerCoupons: string;
    /**
     * Route for the call to get the addresses for the current user
     */
    addresses: string;
    /**
     * Route for the call to get the payment details for the current user
     */
    payments: string;
    /**
     * Route for the call to get execute the address verification for the current user
     */
    addressVerification: string;
    /**
     * CMS Calls *******************************************************************************************************
     */
    /**
     * Route for the call to get the page data (basic page data & slots with components) for the current page
     */
    pages: string;
    /**
     * Route for the call to get the component data (spartacus does this call with aggregated component Uid's)
     */
    components: string;
    /**
     * Product Calls ***************************************************************************************************
     */
    /**
     * Route for the call to get the product references for the current product (works on product detail page)
     */
    productReferences: string;
    /**
     * Route for the call to get the product references for the current product (works on product detail page)
     */
    productReviews: string;
    /**
     * Route for the call to search for products and return a productSearchPage Object
     */
    productSearch: string;
    /**
     * Route for the call to search for text based product suggestions
     */
    searchSuggestions: string;
    /**
     * Route for the call to load the product details
     */
    product: string;
    /**
     * Cart Calls ******************************************************************************************************
     */
    /**
     * Route for the call to load the carts for a user. The returned array can contain multiple (normal, wishlist, selective) carts.
     */
    carts: string;
    /**
     * Route for the call to load the cart data for a certain cartId
     */
    cart: string;
    /**
     * Route for the call to add an entry to cart
     */
    addEntries: string;
    /**
     * Route for the call to update an entry in the cart
     */
    updateEntries: string;
    /**
     * Route for the call to remove an entry from the cart
     */
    removeEntries: string;
    /**
     * Route for the call to delete a cart
     */
    deleteCart: string;
    /**
     * Route for the call to set an email on the cart (needed for guest checkout)
     */
    addEmail: string;
    /**
     * Route for the call to add a voucher on the cart
     */
    cartVoucher: string;
    /**
     * Route for the call to remove a voucher from the cart
     */
    cartVoucherRemove: string;
    /**
     * Route for the call to validate the cart
     */
    validate: string;
    /**
     * Route for the call to save a cart as wishlist cart for user logging in and not having a wishlist cart yet
     */
    saveCart: string;
    /**
     * Checkout Calls **************************************************************************************************
     */
    /**
     * Route for the call to set a delivery address on the cart during checkout
     */
    setDeliveryAddress: string;
    /**
     * Route for the call to create a new delivery address on the cart during checkout
     */
    createDeliveryAddress: string;
    /**
     * Route for the call to remove a delivery address on the cart during checkout
     */
    removeDeliveryAddress: string;
    /**
     * Route for the call to set a delivery mode on the cart during checkout
     */
    deliveryMode: string;
    /**
     * Route for the call to get all available delivery modes
     */
    deliveryModes: string;
    /**
     * Route for the call to get all available card types for payment
     */
    cardTypes: string;
    /**
     * Route for the call to get the payment provider sub info when using an integrated payment provider (default spartacus)
     */
    paymentProviderSubInfo: string;
    /**
     * Route for the call to create a new payment method
     */
    createPaymentDetails: string;
    /**
     * Route for the call to set an existing payment method on the cart
     */
    setCartPaymentDetails: string;
    /**
     * Route for the call to get the mock sop payment response (html page)
     */
    sopMockProcess: string;
    /**
     * Order Calls *****************************************************************************************************
     */
    /**
     * Route for the call to place the order
     */
    placeOrder: string;
    /**
     * Route for the call to load the orders for a user
     */
    orderHistory: string;
    /**
     * Route for the call to load the order details for an order
     */
    orderDetail: string;
    /**
     * Route for the call to cancel an order
     */
    cancelOrder: string;
    /**
     * Route for the call to return an order
     */
    returnOrder: string;
    /**
     * Route for the call to load the order returns
     */
    orderReturns: string;
    /**
     * Route for the call to load the the order return details
     */
    orderReturnDetail: string;
    /**
     * Route for the call to cancel an order return
     */
    cancelReturn: string;
    /**
     * Account Calls ***************************************************************************************************
     */
    /**
     * Route for the call to restore a saved cart
     */
    restoreSavedCart: string;
    /**
     * Route for the call to clone a saved cart
     */
    cloneSavedCart: string;
    /**
     * Route for the call to get a saved cart
     */
    savedCart: string;
    /**
     * Route for the call to change / delete an address
     */
    addressDetail: string;
    /**
     * Route for the call to delete an payment type
     */
    paymentDetail: string;
    /**
     * Route for the call to update the user password
     */
    userUpdatePassword: string;
    /**
     * Route for the call to update the user id (email)
     */
    userUpdateLoginId: string;
    /**
     * Route for the call to delete a previously given consent
     */
    consentDetail: string;
    /**
     * Route for the call to get all consents of a user
     */
    consents: string;
    /**
     * Route for the call to get all consents of a user
     */
    anonymousConsents: string;
    /**
     * Route for the call to get the notification preferences of a user
     */
    notificationPreference: string;
    /**
     * Store Finder ****************************************************************************************************
     */
    /**
     * Route for the call to get the number of stores
     */
    storescounts: string;
    /**
     * Route for the call to get the stores
     */
    stores: string;
    /**
     * Route for the call to get the store details
     */
    store: string;
};

/**
 * The LocalStorageService is responsible for creating the local storage entry needed for the Spartacus Mock Server.
 */
declare class LocalStorageService {
    protected config: MockConfig;
    constructor(config: MockConfig);
    /**
     * Update the local storage entry.
     * @param key
     * @param value
     */
    updateLocalStorage(key: string, value: any): void;
    /**
     * Create the local storage entries if they do not exist yet.
     * @param _config
     */
    private createLocalstorage;
}

declare const createAddress: (additionalData?: Occ.Address) => Occ.Address;
declare const addressList: () => Occ.AddressList;

declare const createCustomerCoupon: (additionalData?: Occ.CustomerCoupon) => Occ.CustomerCoupon;
declare const customerCouponSearchResult: (additionalData?: Occ.CustomerCouponSearchResult) => Occ.CustomerCouponSearchResult;

declare const createNotificationPreference: (additionalData?: NotificationPreference) => NotificationPreference;
declare const notificationPreferenceList: () => NotificationPreferenceList;

declare const DEFAULT_PAYMENT_ID: string;
declare const createCardType: (additionalData?: Occ.CardType) => Occ.CardType;
declare const createPaymentDetails: (additionalData?: Occ.PaymentDetails) => Occ.PaymentDetails;
declare const paymentDetailsList: () => Occ.PaymentDetailsList;

declare const createProductInterestEntry: (additionalData?: Occ.ProductInterestEntry) => Occ.ProductInterestEntry;
declare const createProductInterestEntryRelation: (additionalData?: Occ.ProductInterestEntryRelation) => Occ.ProductInterestEntryRelation;
declare const productInterestSearchResult: (additionalData?: Occ.ProductInterestSearchResult) => Occ.ProductInterestSearchResult;

declare const savedCartResult: (cartId: string, userId: string, name?: string, description?: string) => Occ.SaveCartResult;

declare const createAuthToken: () => AuthToken;
declare const authRevoke: () => {};

declare const createUser: (additionalData?: Occ.User) => Occ.User;

declare const createBaseStore: (additionalData?: Occ.BaseStore) => Occ.BaseStore;
declare const createBaseSite: (additionalData?: Occ.BaseSite) => Occ.BaseSite;
declare const baseSites: () => Occ.BaseSites;

declare const createDeliveryMode: (additionalData?: Occ.DeliveryMode) => Occ.DeliveryMode;

declare const createPrice: (additionalData?: Occ.Price, modifier?: PriceModifier) => Occ.Price;
declare const createPriceRange: (additionalData?: Occ.PriceRange) => Occ.PriceRange;

declare const createPromotionOrderEntryConsumed: (additionalData?: Occ.PromotionOrderEntryConsumed) => Occ.PromotionOrderEntryConsumed;
declare const createPromotionResult: (additionalData?: Occ.PromotionResult) => Occ.PromotionResult;
declare const createPromotionRestriction: (additionalData?: Occ.PromotionRestriction) => Occ.PromotionRestriction;
declare const createPromotion: (additionalData?: Occ.Promotion) => Occ.Promotion;

declare const createVoucher: (additionalData?: Occ.Voucher) => Occ.Voucher;
declare const addVoucher: (voucherId: string) => void;
declare const deleteVoucher: (voucherCode: string) => void;

declare const components: (componentIds: string[]) => Occ.ComponentList;
declare const navMainLinkComponents: (componentIds: string[]) => Occ.ComponentList;
declare const myAccountLinkComponents: (componentIds: string[]) => Occ.ComponentList;
declare const footerLinkComponents: (componentIds: string[]) => Occ.ComponentList;
declare const productDetailTabComponents: (componentIds: string[]) => Occ.ComponentList;

declare const cmsLinkComponent: (additionalData?: Occ.Component) => Occ.Component;

declare const richTextExampleContent: string;
declare const cmsParagraphComponent: (content?: string) => Component;

declare const contentSlot: (slotPosition: string, components: Component[]) => ContentSlot;

declare const flexTypeComponent: (typeCode: string, flexType?: string, additionalData?: CmsComponentAdditionalData) => Component;

interface ResponsiveMediaRendition {
    key: string;
    width: number;
    height: number;
}
interface ResponsiveMediaInput {
    code: string;
    altText: string;
    renditions: ResponsiveMediaRendition[];
}
declare const media: (mediaInput: ResponsiveMediaInput) => CmsResponsiveBannerComponentMedia;

declare const simpleBannerComponent: (urlLink: string) => Component;

declare const simpleResponsiveBanner: (urlLink: string, mediaInput: ResponsiveMediaInput) => Component;

declare const anonymousConsents: {
    templateCode: string;
    templateVersion: number;
    consentState: string;
}[];
declare const consentTemplatesOptions: () => {
    status: number;
    headers: {
        Date: string;
        'Content-Length': string;
        Connection: string;
        'X-Frame-Options': string;
        Vary: string;
        'Access-Control-Allow-Origin': string;
        'Access-Control-Allow-Methods': string;
        'Access-Control-Allow-Headers': string;
        'Access-Control-Expose-Headers': string;
    };
};
declare const consentTemplatesHead: () => {
    status: number;
    headers: {
        'Content-Type': string;
        Connection: string;
        'X-OneAgent-JS-Injection': string;
        'Timing-Allow-Origin': string;
        'Server-Timing': string;
        'X-Frame-Options': string;
        Vary: string;
        'Access-Control-Allow-Origin': string;
        'Access-Control-Expose-Headers': string;
        'X-Anonymous-Consents': string;
        'Cache-Control': string;
        Pragma: string;
        Expires: string;
        'Strict-Transport-Security': string;
        'X-XSS-Protection': string;
        'X-Content-Type-Options': string;
    };
};
declare const createConsentTemplate: (userId: string, consentId: string, additionalData?: Occ.ConsentTemplate) => Occ.ConsentTemplate;
declare const consentTemplateList: (userId: string) => Occ.ConsentTemplateList;

declare const createCountry: (additionalData?: Occ.Country) => Occ.Country;
declare const countryList: () => Occ.CountryList;

declare const createCurrency: (additionalData?: Occ.Currency) => Occ.Currency;
declare const currencyList: () => Occ.CurrencyList;

declare const createPagination: (additionalData?: Occ.Pagination) => Occ.Pagination;
declare const createPaginationModel: (additionalData?: Occ.PaginationModel) => Occ.PaginationModel;

declare const createRegion: (additionalData?: Occ.Region) => Occ.Region;
declare const regionList: () => Occ.RegionList;

declare const createSort: (additionalData?: Occ.Sort) => Occ.Sort;
declare const createSortModel: (additionalData?: SortModel) => Occ.SortModel;

declare const createTitle: (additionalData?: Occ.Title) => Occ.Title;
declare const titleList: () => Occ.TitleList;

declare const createLanguage: (additionalData?: Occ.Language) => Occ.Language;
declare const languageList: () => Occ.LanguageList;

declare const image: (additionalData?: Occ.Image, modifier?: ImageModifier) => Occ.Image;

declare const createOrderEntry: (additionalData?: Occ.OrderEntry) => Occ.OrderEntry;
declare const createConsignmentEntry: (additionalData?: Occ.ConsignmentEntry) => Occ.ConsignmentEntry;
declare const createConsignment: (additionalData?: Occ.Consignment) => Occ.Consignment;
declare const createOrderHistory: (additionalData?: Occ.OrderHistory) => Occ.OrderHistory;
declare const createOrder: (additionalData?: Occ.Order) => Occ.Order;

declare const getOrders: (additionalData?: Occ.OrderHistoryList) => Occ.OrderHistoryList;

declare class PageFactoryService {
    protected customSlots?: Occ.ContentSlot[] | undefined;
    private _customSlots;
    private _headerSlotsWithBreadCrumb;
    private _headerSlots;
    private _footerSlots;
    constructor(customSlots?: Occ.ContentSlot[] | undefined);
    private _getGlobalSlots;
    createContentPage(label: string, title: string, contentSlots: Occ.ContentSlot[], template?: string): Occ.CMSPage;
    createProductCategoryPage(): Occ.CMSPage;
    createHomePage(): Occ.CMSPage;
    createProductDetailPage(code: string): Occ.CMSPage;
    createLoginPage(): Occ.CMSPage;
    createRegisterPage(): Occ.CMSPage;
}

/**
 * !!! Please note: !!!
 *
 * The mock server compares the routes by using startsWith(), therefore, routes starting with the same word
 * need to be in the correct order!!!
 *
 */
declare const defaultPages: (pageFactoryService: PageFactoryService) => Pages;

/**
 * The PageService takes the custom Pages provided from the MockConfig and merges them with the default pages
 */
declare class PageService {
    private config;
    private pageFactoryService;
    customContentPages?: ContentPages;
    customHomePage?: Page;
    customProductDetailPage?: Page;
    customProductCategoryPage?: Page;
    constructor(config: MockConfig, pageFactoryService: PageFactoryService);
    getMockPage(pageType?: string, pageLabelOrId?: string, productCode?: string): Occ.CMSPage | null;
    getSanitizedPageLabelOrId(pageLabelOrId: string): string;
}

declare const activeTabItems: string[];
/**
 * Gets a Base Set of Product Data
 */
declare const createBaseProduct: (additionalData?: Occ.Product) => Occ.Product;
/**
 * Gets a Full Set of Product Data
 */
declare const createFullProduct: (additionalData?: Occ.Product) => Occ.Product;

declare const createVariantOptionQualifier: () => Occ.VariantOptionQualifier;
declare const createVariantOption: (additionalData?: Occ.VariantOption) => Occ.VariantOption;
declare const createBaseOption: (additionalData?: Occ.BaseOption) => Occ.BaseOption;

declare const createProductCategory: (additionalData?: Occ.Category) => Occ.Category;

declare const createFeatureValue: () => Occ.FeatureValue;
declare const createFeatureUnit: (additionalData?: Occ.FeatureUnit) => Occ.FeatureUnit;
declare const createFeature: (additionalData?: Occ.Feature) => Occ.Feature;
declare const createProductClassification: (additionalData?: Occ.Classification) => Occ.Classification;

declare const createProductReference: (additionalData?: Occ.ProductReference) => Occ.ProductReference;
declare const productReferenceList: (modifier?: ProductReferenceListModifier) => Occ.ProductReferenceList;

declare const createReview: (additionalData?: Occ.Review) => Occ.Review;
declare const reviewList: () => Occ.ReviewList;

declare const createProductStock: (additionalData?: Occ.Stock) => Occ.Stock;
declare const createFutureStock: (additionalData?: Occ.FutureStock) => Occ.FutureStock;

declare const createBreadcrumb: (additionalData?: Occ.Breadcrumb) => Occ.Breadcrumb;

declare const createFacetValue: (additionalData?: Occ.FacetValue, modifier?: FacetValueModifier) => Occ.FacetValue;
declare const createFacet: (additionalData?: Occ.Facet, modifier?: FacetValueModifier) => Occ.Facet;

declare const createSearchQuery: () => Occ.SearchQuery;
declare const createSearchState: (additionalData?: Occ.SearchState, modifier?: SearchStateModifier) => Occ.SearchState;
declare const createSpellingSuggestion: (additionalData?: Occ.SpellingSuggestion) => Occ.SpellingSuggestion;
declare const productSearchPage: (additionalData?: Occ.ProductSearchPage, modifier?: ProductSearchPageModifier) => Occ.ProductSearchPage;

declare const createSuggestion: () => Occ.Suggestion;
declare const suggestionList: () => Occ.SuggestionList;

declare const createStoreCount: (additionalData?: Occ.StoreCount) => Occ.StoreCount;
declare const storesAndRegionsStoreCount: () => Occ.StoreCountList;
declare const createTime: (additionalData?: Occ.Time) => Occ.Time;
declare const createSpecialOpeningDay: (additionalData?: Occ.SpecialOpeningDay) => Occ.SpecialOpeningDay;
declare const createWeekdayOpeningDay: (additionalData?: Occ.WeekdayOpeningDay) => Occ.WeekdayOpeningDay;
declare const createOpeningSchedule: (additionalData?: Occ.OpeningSchedule) => Occ.OpeningSchedule;
declare const createPointOfService: (additionalData?: Occ.PointOfService) => Occ.PointOfService;
declare const storeFinderSearchPage: (additionalData?: Occ.StoreFinderSearchPage) => Occ.StoreFinderSearchPage;

declare const translationsForNamespace: (language: string, namespace: string, config: MockConfig) => _spartacus_core.TranslationResourceKey;
/**
 * Deep merges the translation chunks that allows to only overwrite certain translation keys.
 *
 * @param defaultChunk Default Core Translation Chunk
 * @param customChunk Custom Translations (All Chunks)
 */
declare function mergeDeep(defaultChunk: object, customChunk: object): object;

export { DEFAULT_PAYMENT_ID, LOCAL_STORAGE_KEY, LocalStorageService, PageFactoryService, PageService, activeTabItems, addVoucher, addressList, anonymousConsents, authRevoke, baseSites, cmsLinkComponent, cmsParagraphComponent, components, consentTemplateList, consentTemplatesHead, consentTemplatesOptions, contentSlot, countryList, createAddress, createAuthToken, createBaseOption, createBaseProduct, createBaseSite, createBaseStore, createBreadcrumb, createCardType, createConsentTemplate, createConsignment, createConsignmentEntry, createCountry, createCurrency, createCustomerCoupon, createDeliveryMode, createFacet, createFacetValue, createFeature, createFeatureUnit, createFeatureValue, createFullProduct, createFutureStock, createLanguage, createNotificationPreference, createOpeningSchedule, createOrder, createOrderEntry, createOrderHistory, createPagination, createPaginationModel, createPaymentDetails, createPointOfService, createPrice, createPriceRange, createProductCategory, createProductClassification, createProductInterestEntry, createProductInterestEntryRelation, createProductReference, createProductStock, createPromotion, createPromotionOrderEntryConsumed, createPromotionRestriction, createPromotionResult, createRegion, createReview, createSearchQuery, createSearchState, createSort, createSortModel, createSpecialOpeningDay, createSpellingSuggestion, createStoreCount, createSuggestion, createTime, createTitle, createUser, createVariantOption, createVariantOptionQualifier, createVoucher, createWeekdayOpeningDay, currencyList, customerCouponSearchResult, defaultPages, deleteVoucher, flexTypeComponent, footerLinkComponents, getDefaultRoutes, getOrders, image, languageList, media, mergeDeep, myAccountLinkComponents, navMainLinkComponents, notificationPreferenceList, paymentDetailsList, prepareMock, productDetailTabComponents, productInterestSearchResult, productReferenceList, productSearchPage, readSearchParams, readUrlParams, redirect, regionList, reviewList, richTextExampleContent, savedCartResult, simpleBannerComponent, simpleResponsiveBanner, storeFinderSearchPage, storesAndRegionsStoreCount, suggestionList, titleList, translationsForNamespace };
export type { ActiveCartEntry, CmsComponentAdditionalData, Component, ContentPages, ContentSlot, Environment, FacetValueModifier, ImageModifier, LocalStorageMockData, MockConfig, MockRequest, Page, Pages, PriceModifier, ProductReferenceListModifier, ProductSearchPageModifier, ResponsiveMediaInput, ResponsiveMediaRendition, SearchStateModifier, TranslationChunks };
